/**
 * <p>Copyright (c)  深圳市鹏途信息技术有限公司 </p>
 * <p>				   All right reserved. 		     </p>
 * 
 * <p>项目名称 ： 	东莞交通工程质量监督综合业务系统        </p>
 * <p>创建者   :	adolf 
 * 
 * <p>描   述  :   DetectManager.java for com.pengtu.service.detect    </p>
 * 
 * <p>最后修改 : $: -8-9-下午05:51:28 v 1.0.0	 adolf   $     </p>
 * 
 */

package com.pengtu.service.detect;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;

import javax.servlet.ServletOutputStream;

import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

import org.apache.commons.lang.StringUtils;
import org.jfree.data.category.DefaultCategoryDataset;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import com.pengtu.dao.Page;
import com.pengtu.dao.QueryFilter;
import com.pengtu.dao.QueryFilter.MatchType;
import com.pengtu.dao.detect.BridgespotDao;
import com.pengtu.dao.detect.MaterialspotDao;
import com.pengtu.dao.detect.PilespotDao;
import com.pengtu.dao.detect.SafetyspotDao;
import com.pengtu.dao.detect.SpotreportDao;
import com.pengtu.dao.detect.StructurespotDao;
import com.pengtu.dao.detect.SurfacespotDao;
import com.pengtu.dao.detect.TunnelspotDao;
import com.pengtu.entity.detect.Bridgespot;
import com.pengtu.entity.detect.Materialspot;
import com.pengtu.entity.detect.PileSpot;
import com.pengtu.entity.detect.Safetyspot;
import com.pengtu.entity.detect.SpotReport;
import com.pengtu.entity.detect.StructureSpot;
import com.pengtu.entity.detect.SurfaceSpot;
import com.pengtu.entity.detect.TunnelSpot;
import com.pengtu.model.SpotReportVo;
import com.pengtu.service.project.ProjectManager;
import com.pengtu.utils.DateUtils;
import com.pengtu.utils.ExcelHelper;
import com.pengtu.utils.LabelHelper;
import com.pengtu.utils.MathsUtils;
import com.pengtu.utils.reflection.ReflectionUtils;
import com.pengtu.utils.web.Struts2Utils;

/**
 * 
 * DetectManager
 * 
 * -8-9 下午05:51:28
 * 
 * @version 1.0.0
 * 
 */
@Component
@Transactional
public class DetectManager {

	private BridgespotDao bridgespotDao;
	private MaterialspotDao materialspotDao;
	private SafetyspotDao safetyspotDao;
	private StructurespotDao structurespotDao;
	private SurfacespotDao surfacespotDao;
	private TunnelspotDao tunnelspotDao;
	private SpotreportDao spotreportDao;
	private PilespotDao pilespotDao;
	private ProjectManager projectManager;

	@Autowired
	public void setProjectManager(ProjectManager projectManager) {
		this.projectManager = projectManager;
	}

	/************ 操作对象Bbridgespot ******************/
	@Transactional(readOnly = true)
	public Bridgespot getBridgespot(String id) {
		return bridgespotDao.get(id);
	}

	@Transactional(readOnly = true)
	public List<Bridgespot> getAllBridgespot() {
		return bridgespotDao.getAll();
	}

	public void saveBridgespot(Bridgespot bridgespot) {
		bridgespotDao.save(bridgespot);
	}

	public void deleteBridgespot(String id) {
		bridgespotDao.delete(id);
	}

	/************ 操作对象Materialspot ******************/
	@Transactional(readOnly = true)
	public Materialspot getMaterialspot(String id) {
		return materialspotDao.get(id);
	}

	@Transactional(readOnly = true)
	public List<Materialspot> getAllMaterialspot() {
		return materialspotDao.getAll();
	}

	public void saveMaterialspot(Materialspot materialspot) {
		materialspotDao.save(materialspot);
	}

	public void deleteMaterialspot(String id) {
		materialspotDao.delete(id);
	}

	/************ 操作对象Safetyspot ******************/

	@Transactional(readOnly = true)
	public Safetyspot getSafetyspot(String id) {
		return safetyspotDao.get(id);
	}

	@Transactional(readOnly = true)
	public List<Safetyspot> getAllSafetyspot() {
		return safetyspotDao.getAll();
	}

	public void saveSafetyspot(Safetyspot safetyspot) {
		safetyspotDao.save(safetyspot);
	}

	public void deleteSafetyspot(String id) {
		safetyspotDao.delete(id);
	}

	/************ 操作对象StructureSpot ******************/

	@Transactional(readOnly = true)
	public StructureSpot getStructurespot(String id) {
		return structurespotDao.get(id);
	}

	@Transactional(readOnly = true)
	public List<StructureSpot> getAllStructurespot() {
		return structurespotDao.getAll();
	}

	public void saveStructurespot(StructureSpot structurespot) {
		structurespotDao.save(structurespot);
	}

	public void deleteStructurespot(String id) {
		structurespotDao.delete(id);
	}

	/************ 操作对象SurfaceSpot ******************/

	@Transactional(readOnly = true)
	public SurfaceSpot getSurfacespot(String id) {
		return surfacespotDao.get(id);
	}

	@Transactional(readOnly = true)
	public List<SurfaceSpot> getAllSurfacespot() {
		return surfacespotDao.getAll();
	}

	public void saveSurfacespot(SurfaceSpot surfacespot) {
		surfacespotDao.save(surfacespot);
	}

	public void deleteSurfacespot(String id) {
		surfacespotDao.delete(id);
	}

	/************ 操作对象TunnelSpot ******************/

	@Transactional(readOnly = true)
	public TunnelSpot getTunnelspot(String id) {
		return tunnelspotDao.get(id);
	}

	@Transactional(readOnly = true)
	public List<TunnelSpot> getAllTunnelspot() {
		return tunnelspotDao.getAll();
	}

	public void saveTunnelspot(TunnelSpot tunnelspot) {
		tunnelspotDao.save(tunnelspot);
	}

	public void deleteTunnelspot(String id) {
		tunnelspotDao.delete(id);
	}

	/************ 操作对象PileSpot ******************/

	@Transactional(readOnly = true)
	public PileSpot getPilespot(String id) {
		return pilespotDao.get(id);
	}

	@Transactional(readOnly = true)
	public List<PileSpot> getAllPilespot() {
		return pilespotDao.getAll();
	}

	public void savePilespot(PileSpot Pilespot) {
		pilespotDao.save(Pilespot);
	}

	public void deletePilespot(String id) {
		pilespotDao.delete(id);
	}

	/************
	 * 操作对象SpotReport
	 * 
	 * @param pilespot
	 ******************/
	public void saveMany(StructureSpot structurespot, SurfaceSpot surfacespot,
			TunnelSpot tunnelSpot, Bridgespot bridgespot,
			Materialspot materialspot, Safetyspot safetyspot,
			PileSpot pilespot, SpotReport spotReport, String[] items) {

		spotreportDao.save(spotReport);
		Map<String, Object> pp = new HashMap<String, Object>();
		if (items != null) {
			for (int i = 0; i < items.length; i++) {
				pp.put(items[i], items[i]);
			}
		}
		if (pp.containsKey("tabs-1")) {
			structurespot.setSpotReport(spotReport);
			structurespotDao.save(structurespot);
		} else {
			if (!structurespot.getId().equals("")) {
				structurespotDao.delete(structurespot.getId());
			}
		}

		if (pp.containsKey("tabs-2")) {
			surfacespot.setSpotReport(spotReport);
			surfacespotDao.save(surfacespot);
		} else {
			if (!surfacespot.getId().equals("")) {
				surfacespotDao.delete(surfacespot.getId());
			}
		}

		if (pp.containsKey("tabs-3")) {
			bridgespot.setSpotReport(spotReport);
			bridgespotDao.save(bridgespot);
		} else {
			if (!bridgespot.getId().equals("")) {
				bridgespotDao.delete(bridgespot.getId());
			}
		}

		if (pp.containsKey("tabs-4")) {
			tunnelSpot.setSpotReport(spotReport);
			tunnelspotDao.save(tunnelSpot);
		} else {
			if (!tunnelSpot.getId().equals("")) {
				tunnelspotDao.delete(tunnelSpot.getId());
			}
		}

		if (pp.containsKey("tabs-5")) {
			safetyspot.setSpotReport(spotReport);
			safetyspotDao.save(safetyspot);
		} else {
			if (!safetyspot.getId().equals("")) {
				safetyspotDao.delete(safetyspot.getId());
			}
		}

		if (pp.containsKey("tabs-6")) {
			materialspot.setSpotReport(spotReport);
			materialspotDao.save(materialspot);
		} else {
			if (!materialspot.getId().equals("")) {
				materialspotDao.delete(materialspot.getId());
			}
		}

		if (pp.containsKey("tabs-7")) {
			pilespot.setSpotReport(spotReport);
			pilespotDao.save(pilespot);
		} else {
			if (!pilespot.getId().equals("")) {
				pilespotDao.delete(pilespot.getId());
			}
		}
	}

	@Transactional(readOnly = true)
	public Page<SpotReport> getSpotreportList(Page<SpotReport> page,
			QueryFilter filters) {
		return spotreportDao.findPage(page, filters);
	}

	@Transactional(readOnly = true)
	public List<SpotReport> getSpotreportListByProperty(QueryFilter filters) {
		return spotreportDao.find(filters);
	}

	@Transactional(readOnly = true)
	public SpotReport getSpotreport(String id) {
		return spotreportDao.get(id);
	}

	@Transactional(readOnly = true)
	public SpotReport findSpotReportByBIproperty(String propertyName,
			String value) {
		if (propertyName.equalsIgnoreCase("id")) {
			return spotreportDao.get(value);
		}
		return spotreportDao.findUniqueBy(propertyName, value);
	}

	public void deleteSpotreport(String id) {
		SpotReport spotReport = spotreportDao.get(id);
		Bridgespot bridgespot = spotReport.getBridgespot();
		Materialspot materialspot = spotReport.getMaterialspot();
		Safetyspot safetyspot = spotReport.getSafetyspot();
		StructureSpot structurespot = spotReport.getStructurespot();
		SurfaceSpot surfacespot = spotReport.getSurfacespot();
		TunnelSpot tunnelspot = spotReport.getTunnelspot();
		PileSpot pilespot = spotReport.getPilespot();
		if(bridgespot != null){
			bridgespotDao.delete(bridgespot);
		}
		if(materialspot != null){
			materialspotDao.delete(materialspot);
		}
		if(safetyspot != null){
			safetyspotDao.delete(safetyspot);
		}
		if(structurespot != null){
			structurespotDao.delete(structurespot);
		}
		if(surfacespot != null){
			surfacespotDao.delete(surfacespot);
		}
		if(tunnelspot != null){
			tunnelspotDao.delete(tunnelspot);
		}
		if(pilespot != null){
			pilespotDao.delete(pilespot);
		}
		spotreportDao.delete(id);
	}

	/************ DAO的注入 ******************/

	@Autowired
	public void setBridgespotDao(BridgespotDao bridgespotDao) {
		this.bridgespotDao = bridgespotDao;
	}

	@Autowired
	public void setMaterialspotDao(MaterialspotDao materialspotDao) {
		this.materialspotDao = materialspotDao;
	}

	@Autowired
	public void setSafetyspotDao(SafetyspotDao safetyspotDao) {
		this.safetyspotDao = safetyspotDao;
	}

	@Autowired
	public void setStructurespotDao(StructurespotDao structurespotDao) {
		this.structurespotDao = structurespotDao;
	}

	@Autowired
	public void setSurfacespotDao(SurfacespotDao surfacespotDao) {
		this.surfacespotDao = surfacespotDao;
	}

	@Autowired
	public void setTunnelspotDao(TunnelspotDao tunnelspotDao) {
		this.tunnelspotDao = tunnelspotDao;
	}

	@Autowired
	public void setSpotreportDao(SpotreportDao spotreportDao) {
		this.spotreportDao = spotreportDao;
	}

	@Autowired
	public void setPilespotDao(PilespotDao pilespotDao) {
		this.pilespotDao = pilespotDao;
	}

	public void SheetExcel(ExcelHelper helper, WritableWorkbook wwb,
			List<SpotReport> list) throws Exception {
		String imagePath = "";
		Object l = null;
		SheetExcel(helper, wwb, list, imagePath,l);
	}

	/**
	 * 
	 * excel: 适用:将SpotReport以及跟他关联的表的记录的写入Excel表
	 * @param list 
	 * @param list2 
	 * 
	 * @param responOut
	 * @throws Exception
	 * @exception
	 * @since 1.0.0
	 */

	public void SheetExcel(ExcelHelper helper, WritableWorkbook wwb,
			List<SpotReport> list, String imagePath, Object list2) throws Exception {
		WritableSheet[] sheets = wwb.getSheets();
		if (!imagePath.equals("")) {
			WritableSheet sheet0 = sheets[0];
			sheet0 = helper.addImage(sheet0, 3, 12, 10, 26, imagePath);
		}
//		if(list2 != null){
//			@SuppressWarnings("unchecked")
//			List<SpotReportVo> li = (List<SpotReportVo>)list2;
//			WritableSheet sheet0 = sheets[0];
//
//			sheet0 = helper.addCell(sheet0, 1, 33, li.get(0).getStartDate() + "-" +li.get(0).getEndDate());
//			sheet0 = helper.addCell(sheet0, 4, 33, li.get(0).getCondition());
//			String type = "";
//			if(li.get(0).getType().equals("town")){
//				type = "镇区";
//			}
//			if(li.get(0).getType().equals("road")){
//				type = "公路等级";
//			}
//			if(li.get(0).getType().equals("level")){
//				type = "行政级别";
//			}
//			sheet0 = helper.addCell(sheet0, 0, 35, type);
//			for(int j = 0;j< li.size(); j++){
//				SpotReportVo spotReportVo = li.get(j);
//				sheet0.insertRow(37 + j);
//				sheet0 = helper.addCell(sheet0, 0, 37+j, spotReportVo.getThreeType());
//				
//				sheet0 = helper.addCell(sheet0, 1, 37+j, spotReportVo.getAllTotalPassrateC());
//				sheet0 = helper.addCell(sheet0, 2, 37+j, spotReportVo.getAllTotalPassrateP());
//				sheet0 = helper.addCell(sheet0, 3, 37+j, spotReportVo.getTotalPassrate());
//				
//				sheet0 = helper.addCell(sheet0, 4, 37+j, spotReportVo.getStructurespotC());
//				sheet0 = helper.addCell(sheet0, 5, 37+j, spotReportVo.getStructurespotP());
//				sheet0 = helper.addCell(sheet0, 6, 37+j, spotReportVo.getStructurespotT());
//				
//				sheet0 = helper.addCell(sheet0, 7, 37+j, spotReportVo.getSurfacespotC());
//				sheet0 = helper.addCell(sheet0, 8, 37+j, spotReportVo.getSafetyspotP());
//				sheet0 = helper.addCell(sheet0, 9, 37+j, spotReportVo.getSafetyspotT());
//				
//				sheet0 = helper.addCell(sheet0, 10, 37+j, spotReportVo.getBridgespotC());
//				sheet0 = helper.addCell(sheet0, 11, 37+j, spotReportVo.getBridgespotP());
//				sheet0 = helper.addCell(sheet0, 12, 37+j, spotReportVo.getBridgespotT());
//				
//				sheet0 = helper.addCell(sheet0, 13, 37+j, spotReportVo.getTunnelspotC());
//				sheet0 = helper.addCell(sheet0, 14, 37+j, spotReportVo.getTunnelspotP());
//				sheet0 = helper.addCell(sheet0, 15, 37+j, spotReportVo.getTunnelspotT());
//				
//				sheet0 = helper.addCell(sheet0, 16, 37+j, spotReportVo.getSafetyspotC());
//				sheet0 = helper.addCell(sheet0, 17, 37+j, spotReportVo.getSafetyspotP());
//				sheet0 = helper.addCell(sheet0, 18, 37+j, spotReportVo.getSafetyspotT());
//				
//				sheet0 = helper.addCell(sheet0, 19, 37+j, spotReportVo.getMaterialspotC());
//				sheet0 = helper.addCell(sheet0, 20, 37+j, spotReportVo.getMaterialspotP());
//				sheet0 = helper.addCell(sheet0, 21, 37+j, spotReportVo.getMaterialspotT());
//				
//			}
//		}
		for (int i = 1; i <= list.size(); i++) {
			SpotReport spotReport = list.get(i - 1);
			/** 第一个Excel-- 监督抽检 */
			WritableSheet sheet1 = sheets[1];
			String signName = "";
			if (spotReport.getSignid() != null) {
				signName = "(标段为"
						+ projectManager.getSign("id", spotReport.getSignid())
								.getContractOrder() + ")";
			}
			sheet1.insertRow(5 + i);
			sheet1 = helper.addCell(sheet1, 0, 5 + i, spotReport.getLocale());
			String batch = "";
			if(StringUtils.isNotEmpty(spotReport.getBatch())){
				 batch = "(第"+ spotReport.getBatch() + "批次)";
			}
			sheet1 = helper.addCell(sheet1, 1, 5 + i, spotReport
					.getProjectInfo().getProjName()
					+ signName + batch);

			sheet1 = helper.addCell(sheet1, 2, 5 + i, spotReport.getAllCount());
			sheet1 = helper.addCell(sheet1, 3, 5 + i, spotReport.getAllPass());
			sheet1 = helper.addCell(sheet1, 4, 5 + i,
					spotReport.getAllTotalPassrate());
			if (spotReport.getStructurespot() != null) {
				sheet1 = helper.addCell(sheet1, 5, 5 + i, spotReport
						.getStructurespot().getCountF200());
				sheet1 = helper.addCell(sheet1, 6, 5 + i, spotReport
						.getStructurespot().getPassF200());
				sheet1 = helper.addCell(sheet1, 7, 5 + i, spotReport
						.getStructurespot().getPassrateF200());
			}

			if (spotReport.getSurfacespot() != null) {
				sheet1 = helper.addCell(sheet1, 8, 5 + i, spotReport
						.getSurfacespot().getCountF300());
				sheet1 = helper.addCell(sheet1, 9, 5 + i, spotReport
						.getSurfacespot().getPassF300());
				sheet1 = helper.addCell(sheet1, 10, 5 + i, spotReport
						.getSurfacespot().getPassrateF300());
			}

			if (spotReport.getBridgespot() != null) {
				sheet1 = helper.addCell(sheet1, 11, 5 + i, spotReport
						.getBridgespot().getCountF400());
				sheet1 = helper.addCell(sheet1, 12, 5 + i, spotReport
						.getBridgespot().getPassF400());
				sheet1 = helper.addCell(sheet1, 13, 5 + i, spotReport
						.getBridgespot().getPassrateF400());
			}

			if (spotReport.getTunnelspot() != null) {
				sheet1 = helper.addCell(sheet1, 14, 5 + i, spotReport
						.getTunnelspot().getCountF500());
				sheet1 = helper.addCell(sheet1, 15, 5 + i, spotReport
						.getTunnelspot().getPassF500());
				sheet1 = helper.addCell(sheet1, 16, 5 + i, spotReport
						.getTunnelspot().getPassrateF500());
			}

			if (spotReport.getSafetyspot() != null) {
				sheet1 = helper.addCell(sheet1, 17, 5 + i, spotReport
						.getSafetyspot().getCountF600());
				sheet1 = helper.addCell(sheet1, 18, 5 + i, spotReport
						.getSafetyspot().getPassF600());
				sheet1 = helper.addCell(sheet1, 19, 5 + i, spotReport
						.getSafetyspot().getPassrateF600());
			}

			if (spotReport.getMaterialspot() != null) {
				sheet1 = helper.addCell(sheet1, 20, 5 + i, spotReport
						.getMaterialspot().getCountF900());
				sheet1 = helper.addCell(sheet1, 21, 5 + i, spotReport
						.getMaterialspot().getPassF900());
				sheet1 = helper.addCell(sheet1, 22, 5 + i, spotReport
						.getMaterialspot().getPassrateF900());
			}

			/** 第2个Excel--路基工程 */
			if (spotReport.getStructurespot() != null) {
				WritableSheet sheet2 = sheets[2];
				sheet2.insertRow(8 + i);
				sheet2 = helper.addCell(sheet2, 0, 8 + i,
						spotReport.getLocale());
				sheet2 = helper.addCell(sheet2, 1, 8 + i, spotReport
						.getProjectInfo().getProjName()
						+ signName
						+ batch);

				sheet2 = helper.addCell(sheet2, 2, 8 + i, spotReport
						.getStructurespot().getCountF200());
				sheet2 = helper.addCell(sheet2, 3, 8 + i, spotReport
						.getStructurespot().getPassF200());
				sheet2 = helper.addCell(sheet2, 4, 8 + i, spotReport
						.getStructurespot().getPassrateF200());

				sheet2 = helper.addCell(sheet2, 5, 8 + i, spotReport
						.getStructurespot().getCountF201());
				sheet2 = helper.addCell(sheet2, 6, 8 + i, spotReport
						.getStructurespot().getPassF201());
				sheet2 = helper.addCell(sheet2, 7, 8 + i, spotReport
						.getStructurespot().getPassrateF201());

				sheet2 = helper.addCell(sheet2, 8, 8 + i, spotReport
						.getStructurespot().getCountF202());
				sheet2 = helper.addCell(sheet2, 9, 8 + i, spotReport
						.getStructurespot().getPassF202());
				sheet2 = helper.addCell(sheet2, 10, 8 + i, spotReport
						.getStructurespot().getPassrateF202());

				sheet2 = helper.addCell(sheet2, 11, 8 + i, spotReport
						.getStructurespot().getCountF203());
				sheet2 = helper.addCell(sheet2, 12, 8 + i, spotReport
						.getStructurespot().getPassF203());
				sheet2 = helper.addCell(sheet2, 13, 8 + i, spotReport
						.getStructurespot().getPassrateF203());

				sheet2 = helper.addCell(sheet2, 14, 8 + i, spotReport
						.getStructurespot().getCountF204());
				sheet2 = helper.addCell(sheet2, 15, 8 + i, spotReport
						.getStructurespot().getPassF204());
				sheet2 = helper.addCell(sheet2, 16, 8 + i, spotReport
						.getStructurespot().getPassrateF204());

				sheet2 = helper.addCell(sheet2, 17, 8 + i, spotReport
						.getStructurespot().getCountF205());
				sheet2 = helper.addCell(sheet2, 18, 8 + i, spotReport
						.getStructurespot().getPassF205());
				sheet2 = helper.addCell(sheet2, 19, 8 + i, spotReport
						.getStructurespot().getPassrateF205());

				sheet2 = helper.addCell(sheet2, 20, 8 + i, spotReport
						.getStructurespot().getCountF206());
				sheet2 = helper.addCell(sheet2, 21, 8 + i, spotReport
						.getStructurespot().getPassF206());
				sheet2 = helper.addCell(sheet2, 22, 8 + i, spotReport
						.getStructurespot().getPassrateF206());

				sheet2 = helper.addCell(sheet2, 23, 8 + i, spotReport
						.getStructurespot().getCountF207());
				sheet2 = helper.addCell(sheet2, 24, 8 + i, spotReport
						.getStructurespot().getPassF207());
				sheet2 = helper.addCell(sheet2, 25, 8 + i, spotReport
						.getStructurespot().getPassrateF207());
			}

			/** 第3个Excel--路面工程 */
			if (spotReport.getSurfacespot() != null) {
				WritableSheet sheet3 = sheets[3];
				sheet3.insertRow(7 + i);
				sheet3 = helper.addCell(sheet3, 0, 7 + i,
						spotReport.getLocale());
				sheet3 = helper.addCell(sheet3, 1, 7 + i, spotReport
						.getProjectInfo().getProjName()
						+ signName
						+ batch);

				sheet3 = helper.addCell(sheet3, 2, 7 + i, spotReport
						.getSurfacespot().getCountF300());
				sheet3 = helper.addCell(sheet3, 3, 7 + i, spotReport
						.getSurfacespot().getPassF300());
				sheet3 = helper.addCell(sheet3, 4, 7 + i, spotReport
						.getSurfacespot().getPassrateF300());

				sheet3 = helper.addCell(sheet3, 5, 7 + i, spotReport
						.getSurfacespot().getCountF301());
				sheet3 = helper.addCell(sheet3, 6, 7 + i, spotReport
						.getSurfacespot().getPassF301());
				sheet3 = helper.addCell(sheet3, 7, 7 + i, spotReport
						.getSurfacespot().getPassrateF301());

				sheet3 = helper.addCell(sheet3, 8, 7 + i, spotReport
						.getSurfacespot().getCountF302());
				sheet3 = helper.addCell(sheet3, 9, 7 + i, spotReport
						.getSurfacespot().getPassF302());
				sheet3 = helper.addCell(sheet3, 10, 7 + i, spotReport
						.getSurfacespot().getPassrateF302());

				sheet3 = helper.addCell(sheet3, 11, 7 + i, spotReport
						.getSurfacespot().getCountF303());
				sheet3 = helper.addCell(sheet3, 12, 7 + i, spotReport
						.getSurfacespot().getPassF303());
				sheet3 = helper.addCell(sheet3, 13, 7 + i, spotReport
						.getSurfacespot().getPassrateF303());

				sheet3 = helper.addCell(sheet3, 14, 7 + i, spotReport
						.getSurfacespot().getCountF304());
				sheet3 = helper.addCell(sheet3, 15, 7 + i, spotReport
						.getSurfacespot().getPassF304());
				sheet3 = helper.addCell(sheet3, 16, 7 + i, spotReport
						.getSurfacespot().getPassrateF304());

				sheet3 = helper.addCell(sheet3, 17, 7 + i, spotReport
						.getSurfacespot().getCountF305());
				sheet3 = helper.addCell(sheet3, 18, 7 + i, spotReport
						.getSurfacespot().getPassF305());
				sheet3 = helper.addCell(sheet3, 19, 7 + i, spotReport
						.getSurfacespot().getPassrateF305());

				sheet3 = helper.addCell(sheet3, 20, 7 + i, spotReport
						.getSurfacespot().getCountF306());
				sheet3 = helper.addCell(sheet3, 21, 7 + i, spotReport
						.getSurfacespot().getPassF306());
				sheet3 = helper.addCell(sheet3, 22, 7 + i, spotReport
						.getSurfacespot().getPassrateF306());

				sheet3 = helper.addCell(sheet3, 23, 7 + i, spotReport
						.getSurfacespot().getCountF307());
				sheet3 = helper.addCell(sheet3, 24, 7 + i, spotReport
						.getSurfacespot().getPassF307());
				sheet3 = helper.addCell(sheet3, 25, 7 + i, spotReport
						.getSurfacespot().getPassrateF307());

				sheet3 = helper.addCell(sheet3, 26, 7 + i, spotReport
						.getSurfacespot().getCountF308());
				sheet3 = helper.addCell(sheet3, 27, 7 + i, spotReport
						.getSurfacespot().getPassF308());
				sheet3 = helper.addCell(sheet3, 28, 7 + i, spotReport
						.getSurfacespot().getPassrateF308());

				sheet3 = helper.addCell(sheet3, 29, 7 + i, spotReport
						.getSurfacespot().getCountF309());
				sheet3 = helper.addCell(sheet3, 30, 7 + i, spotReport
						.getSurfacespot().getPassF309());
				sheet3 = helper.addCell(sheet3, 31, 7 + i, spotReport
						.getSurfacespot().getPassrateF309());

				sheet3 = helper.addCell(sheet3, 32, 7 + i, spotReport
						.getSurfacespot().getCountF310());
				sheet3 = helper.addCell(sheet3, 33, 7 + i, spotReport
						.getSurfacespot().getPassF310());
				sheet3 = helper.addCell(sheet3, 34, 7 + i, spotReport
						.getSurfacespot().getPassrateF310());
			}

			/** 第4个Excel--桥梁工程 */
			if (spotReport.getBridgespot() != null) {
				WritableSheet sheet4 = sheets[4];
				sheet4.insertRow(7 + i);
				sheet4 = helper.addCell(sheet4, 0, 7 + i,
						spotReport.getLocale());
				sheet4 = helper.addCell(sheet4, 1, 7 + i, spotReport
						.getProjectInfo().getProjName()
						+ signName
						+ batch);

				sheet4 = helper.addCell(sheet4, 2, 7 + i, spotReport
						.getBridgespot().getCountF400());
				sheet4 = helper.addCell(sheet4, 3, 7 + i, spotReport
						.getBridgespot().getPassF400());
				sheet4 = helper.addCell(sheet4, 4, 7 + i, spotReport
						.getBridgespot().getPassrateF400());

				sheet4 = helper.addCell(sheet4, 5, 7 + i, spotReport
						.getBridgespot().getCountF401());
				sheet4 = helper.addCell(sheet4, 6, 7 + i, spotReport
						.getBridgespot().getPassF401());
				sheet4 = helper.addCell(sheet4, 7, 7 + i, spotReport
						.getBridgespot().getPassrateF401());

				sheet4 = helper.addCell(sheet4, 8, 7 + i, spotReport
						.getBridgespot().getCountF402());
				sheet4 = helper.addCell(sheet4, 9, 7 + i, spotReport
						.getBridgespot().getPassF402());
				sheet4 = helper.addCell(sheet4, 10, 7 + i, spotReport
						.getBridgespot().getPassrateF402());

				sheet4 = helper.addCell(sheet4, 11, 7 + i, spotReport
						.getBridgespot().getCountF403());
				sheet4 = helper.addCell(sheet4, 12, 7 + i, spotReport
						.getBridgespot().getPassF403());
				sheet4 = helper.addCell(sheet4, 13, 7 + i, spotReport
						.getBridgespot().getPassrateF403());

				sheet4 = helper.addCell(sheet4, 14, 7 + i, spotReport
						.getBridgespot().getCountF404());
				sheet4 = helper.addCell(sheet4, 15, 7 + i, spotReport
						.getBridgespot().getPassF404());
				sheet4 = helper.addCell(sheet4, 16, 7 + i, spotReport
						.getBridgespot().getPassrateF404());

				sheet4 = helper.addCell(sheet4, 17, 7 + i, spotReport
						.getBridgespot().getCountF405());
				sheet4 = helper.addCell(sheet4, 18, 7 + i, spotReport
						.getBridgespot().getPassF405());
				sheet4 = helper.addCell(sheet4, 19, 7 + i, spotReport
						.getBridgespot().getPassrateF405());

				sheet4 = helper.addCell(sheet4, 20, 7 + i, spotReport
						.getBridgespot().getCountF406());
				sheet4 = helper.addCell(sheet4, 21, 7 + i, spotReport
						.getBridgespot().getPassF406());
				sheet4 = helper.addCell(sheet4, 22, 7 + i, spotReport
						.getBridgespot().getPassrateF406());

				sheet4 = helper.addCell(sheet4, 23, 7 + i, spotReport
						.getBridgespot().getCountF407());
				sheet4 = helper.addCell(sheet4, 24, 7 + i, spotReport
						.getBridgespot().getPassF407());
				sheet4 = helper.addCell(sheet4, 25, 7 + i, spotReport
						.getBridgespot().getPassrateF407());
				
				sheet4 = helper.addCell(sheet4, 26, 7 + i, spotReport
						.getBridgespot().getCountF408());
				sheet4 = helper.addCell(sheet4, 27, 7 + i, spotReport
						.getBridgespot().getPassF408());
				sheet4 = helper.addCell(sheet4, 28, 7 + i, spotReport
						.getBridgespot().getPassrateF408());
			}

			/** 第5个Excel--隧道工程 */
			if (spotReport.getTunnelspot() != null) {
				WritableSheet sheet5 = sheets[5];
				sheet5.insertRow(7 + i);
				sheet5 = helper.addCell(sheet5, 0, 7 + i,
						spotReport.getLocale());
				sheet5 = helper.addCell(sheet5, 1, 7 + i, spotReport
						.getProjectInfo().getProjName()
						+ signName
						+ batch);

				sheet5 = helper.addCell(sheet5, 2, 7 + i, spotReport
						.getTunnelspot().getCountF500());
				sheet5 = helper.addCell(sheet5, 3, 7 + i, spotReport
						.getTunnelspot().getPassF500());
				sheet5 = helper.addCell(sheet5, 4, 7 + i, spotReport
						.getTunnelspot().getPassrateF500());

				sheet5 = helper.addCell(sheet5, 5, 7 + i, spotReport
						.getTunnelspot().getCountF501());
				sheet5 = helper.addCell(sheet5, 6, 7 + i, spotReport
						.getTunnelspot().getPassF501());
				sheet5 = helper.addCell(sheet5, 7, 7 + i, spotReport
						.getTunnelspot().getPassrateF501());

				sheet5 = helper.addCell(sheet5, 8, 7 + i, spotReport
						.getTunnelspot().getCountF502());
				sheet5 = helper.addCell(sheet5, 9, 7 + i, spotReport
						.getTunnelspot().getPassF502());
				sheet5 = helper.addCell(sheet5, 10, 7 + i, spotReport
						.getTunnelspot().getPassrateF502());

				sheet5 = helper.addCell(sheet5, 11, 7 + i, spotReport
						.getTunnelspot().getCountF503());
				sheet5 = helper.addCell(sheet5, 12, 7 + i, spotReport
						.getTunnelspot().getPassF503());
				sheet5 = helper.addCell(sheet5, 13, 7 + i, spotReport
						.getTunnelspot().getPassrateF503());
				
				sheet5 = helper.addCell(sheet5, 14, 7 + i, spotReport
						.getTunnelspot().getCountF504());
				sheet5 = helper.addCell(sheet5, 15, 7 + i, spotReport
						.getTunnelspot().getPassF504());
				sheet5 = helper.addCell(sheet5, 16, 7 + i, spotReport
						.getTunnelspot().getPassrateF504());
				
				
			}

			/** 第6个Excel--安全工程 */
			if (spotReport.getSafetyspot() != null) {
				WritableSheet sheet6 = sheets[6];
				sheet6.insertRow(7 + i);
				sheet6 = helper.addCell(sheet6, 0, 7 + i,
						spotReport.getLocale());
				sheet6 = helper.addCell(sheet6, 1, 7 + i, spotReport
						.getProjectInfo().getProjName()
						+ signName
						+ batch);

				sheet6 = helper.addCell(sheet6, 2, 7 + i, spotReport
						.getSafetyspot().getCountF600());
				sheet6 = helper.addCell(sheet6, 3, 7 + i, spotReport
						.getSafetyspot().getPassF600());
				sheet6 = helper.addCell(sheet6, 4, 7 + i, spotReport
						.getSafetyspot().getPassrateF600());

				sheet6 = helper.addCell(sheet6, 5, 7 + i, spotReport
						.getSafetyspot().getCountF601());
				sheet6 = helper.addCell(sheet6, 6, 7 + i, spotReport
						.getSafetyspot().getPassF601());
				sheet6 = helper.addCell(sheet6, 7, 7 + i, spotReport
						.getSafetyspot().getPassrateF601());

				sheet6 = helper.addCell(sheet6, 8, 7 + i, spotReport
						.getSafetyspot().getCountF602());
				sheet6 = helper.addCell(sheet6, 9, 7 + i, spotReport
						.getSafetyspot().getPassF602());
				sheet6 = helper.addCell(sheet6, 10, 7 + i, spotReport
						.getSafetyspot().getPassrateF602());

				sheet6 = helper.addCell(sheet6, 11, 7 + i, spotReport
						.getSafetyspot().getCountF603());
				sheet6 = helper.addCell(sheet6, 12, 7 + i, spotReport
						.getSafetyspot().getPassF603());
				sheet6 = helper.addCell(sheet6, 13, 7 + i, spotReport
						.getSafetyspot().getPassrateF603());

				sheet6 = helper.addCell(sheet6, 14, 7 + i, spotReport
						.getSafetyspot().getCountF604());
				sheet6 = helper.addCell(sheet6, 15, 7 + i, spotReport
						.getSafetyspot().getPassF604());
				sheet6 = helper.addCell(sheet6, 16, 7 + i, spotReport
						.getSafetyspot().getPassrateF604());

				sheet6 = helper.addCell(sheet6, 17, 7 + i, spotReport
						.getSafetyspot().getCountF605());
				sheet6 = helper.addCell(sheet6, 18, 7 + i, spotReport
						.getSafetyspot().getPassF605());
				sheet6 = helper.addCell(sheet6, 19, 7 + i, spotReport
						.getSafetyspot().getPassrateF605());

				sheet6 = helper.addCell(sheet6, 20, 7 + i, spotReport
						.getSafetyspot().getCountF606());
				sheet6 = helper.addCell(sheet6, 21, 7 + i, spotReport
						.getSafetyspot().getPassF606());
				sheet6 = helper.addCell(sheet6, 22, 7 + i, spotReport
						.getSafetyspot().getPassrateF606());

				sheet6 = helper.addCell(sheet6, 23, 7 + i, spotReport
						.getSafetyspot().getCountF607());
				sheet6 = helper.addCell(sheet6, 24, 7 + i, spotReport
						.getSafetyspot().getPassF607());
				sheet6 = helper.addCell(sheet6, 25, 7 + i, spotReport
						.getSafetyspot().getPassrateF607());

				sheet6 = helper.addCell(sheet6, 26, 7 + i, spotReport
						.getSafetyspot().getCountF608());
				sheet6 = helper.addCell(sheet6, 27, 7 + i, spotReport
						.getSafetyspot().getPassF608());
				sheet6 = helper.addCell(sheet6, 28, 7 + i, spotReport
						.getSafetyspot().getPassrateF608());

				sheet6 = helper.addCell(sheet6, 29, 7 + i, spotReport
						.getSafetyspot().getCountF609());
				sheet6 = helper.addCell(sheet6, 30, 7 + i, spotReport
						.getSafetyspot().getPassF609());
				sheet6 = helper.addCell(sheet6, 31, 7 + i, spotReport
						.getSafetyspot().getPassrateF609());

				sheet6 = helper.addCell(sheet6, 32, 7 + i, spotReport
						.getSafetyspot().getCountF610());
				sheet6 = helper.addCell(sheet6, 33, 7 + i, spotReport
						.getSafetyspot().getPassF610());
				sheet6 = helper.addCell(sheet6, 34, 7 + i, spotReport
						.getSafetyspot().getPassrateF610());
			}

			/** 第7个Excel--原材料工程 */
			if (spotReport.getMaterialspot() != null) {
				WritableSheet sheet7 = sheets[7];
				sheet7.insertRow(7 + i);
				sheet7 = helper.addCell(sheet7, 0, 7 + i,
						spotReport.getLocale());
				sheet7 = helper.addCell(sheet7, 1, 7 + i, spotReport
						.getProjectInfo().getProjName()
						+ signName
						+ batch);

				sheet7 = helper.addCell(sheet7, 2, 7 + i, spotReport
						.getMaterialspot().getCountF900());
				sheet7 = helper.addCell(sheet7, 3, 7 + i, spotReport
						.getMaterialspot().getPassF900());
				sheet7 = helper.addCell(sheet7, 4, 7 + i, spotReport
						.getMaterialspot().getPassrateF900());

				sheet7 = helper.addCell(sheet7, 5, 7 + i, spotReport
						.getMaterialspot().getCountF901());
				sheet7 = helper.addCell(sheet7, 6, 7 + i, spotReport
						.getMaterialspot().getPassF901());
				sheet7 = helper.addCell(sheet7, 7, 7 + i, spotReport
						.getMaterialspot().getPassrateF901());

				sheet7 = helper.addCell(sheet7, 8, 7 + i, spotReport
						.getMaterialspot().getCountF902());
				sheet7 = helper.addCell(sheet7, 9, 7 + i, spotReport
						.getMaterialspot().getPassF902());
				sheet7 = helper.addCell(sheet7, 10, 7 + i, spotReport
						.getMaterialspot().getPassrateF902());

				sheet7 = helper.addCell(sheet7, 11, 7 + i, spotReport
						.getMaterialspot().getCountF903());
				sheet7 = helper.addCell(sheet7, 12, 7 + i, spotReport
						.getMaterialspot().getPassF903());
				sheet7 = helper.addCell(sheet7, 13, 7 + i, spotReport
						.getMaterialspot().getPassrateF903());
				
				sheet7 = helper.addCell(sheet7, 14, 7 + i, spotReport
						.getMaterialspot().getCountF904());
				sheet7 = helper.addCell(sheet7, 15, 7 + i, spotReport
						.getMaterialspot().getPassF904());
				sheet7 = helper.addCell(sheet7, 16, 7 + i, spotReport
						.getMaterialspot().getPassrateF904());
				
				sheet7 = helper.addCell(sheet7, 17, 7 + i, spotReport
						.getMaterialspot().getCountF905());
				sheet7 = helper.addCell(sheet7, 18, 7 + i, spotReport
						.getMaterialspot().getPassF905());
				sheet7 = helper.addCell(sheet7, 19, 7 + i, spotReport
						.getMaterialspot().getPassrateF905());
				
				sheet7 = helper.addCell(sheet7, 20, 7 + i, spotReport
						.getMaterialspot().getCountF906());
				sheet7 = helper.addCell(sheet7, 21, 7 + i, spotReport
						.getMaterialspot().getPassF906());
				sheet7 = helper.addCell(sheet7, 22, 7 + i, spotReport
						.getMaterialspot().getPassrateF906());
				
				sheet7 = helper.addCell(sheet7, 23, 7 + i, spotReport
						.getMaterialspot().getCountF907());
				sheet7 = helper.addCell(sheet7, 24, 7 + i, spotReport
						.getMaterialspot().getPassF907());
				sheet7 = helper.addCell(sheet7, 25, 7 + i, spotReport
						.getMaterialspot().getPassrateF907());
				
				sheet7 = helper.addCell(sheet7, 26, 7 + i, spotReport
						.getMaterialspot().getCountF908());
				sheet7 = helper.addCell(sheet7, 27, 7 + i, spotReport
						.getMaterialspot().getPassF908());
				sheet7 = helper.addCell(sheet7, 28, 7 + i, spotReport
						.getMaterialspot().getPassrateF908());
			}
			
			/** 第8个Excel-工程 */
			if (spotReport.getPilespot() != null) {
				WritableSheet sheet8 = sheets[8];
				sheet8.insertRow(7 + i);
				sheet8 = helper.addCell(sheet8, 0, 7 + i,
						spotReport.getLocale());
				sheet8 = helper.addCell(sheet8, 1, 7 + i, spotReport
						.getProjectInfo().getProjName()
						+ signName
						+ batch);
				
//				sheet8 = helper.addCell(sheet8, 2, 7 + i, spotReport
//						.getPilespot().getBridgeName());
//				sheet8 = helper.addCell(sheet8, 3, 7 + i, spotReport
//						.getPilespot().getMethod());
				
				sheet8 = helper.addCell(sheet8, 2, 7 + i, spotReport
						.getPilespot().getCount());
				
				sheet8 = helper.addCell(sheet8, 3, 7 + i, spotReport
						.getPilespot().getPass1());
				sheet8 = helper.addCell(sheet8, 4, 7 + i, spotReport
						.getPilespot().getPass2());
				sheet8 = helper.addCell(sheet8, 5, 7 + i, spotReport
						.getPilespot().getPass3());
				sheet8 = helper.addCell(sheet8, 6, 7 + i, spotReport
						.getPilespot().getPass4());

				sheet8 = helper.addCell(sheet8, 7, 7 + i, spotReport
						.getPilespot().getPass5());
				sheet8 = helper.addCell(sheet8, 8, 7 + i, spotReport
						.getPilespot().getPass6());
				
				
			}
		}
	}

	/**
	 * 
	 * excelOut: 适用:同一工程同一批次的导出Excel
	 * 
	 * @param list
	 * @param responOut
	 * @return
	 * @throws Exception
	 * @exception
	 * @since 1.0.0
	 */
	public WritableWorkbook excelOut(List<SpotReport> list, String imagePath,
			ServletOutputStream responOut, String examplePath) throws Exception {
		ExcelHelper helper = ExcelHelper.getInstance();
		WritableWorkbook wwb = helper.createWritableWorkbook(responOut,
				examplePath);
		Object l = null;
		SheetExcel(helper, wwb, list, imagePath ,l);
		return wwb;
	}

	/**
	 * 
	 * excelOutDif: 适用:同一工程不同批次的导出Excel
	 * 
	 * @param list
	 * @param path
	 * @param projectId
	 * @return
	 * @throws Exception
	 * @exception
	 * @since 1.0.0
	 */
	public WritableWorkbook excelOutDif(List<SpotReport> list, String path,
			String imagePath, String projectId, String examplePath)
			throws Exception {
		ExcelHelper helper = ExcelHelper.getInstance();
		WritableWorkbook wwb = helper.createWritableWorkbook(path, examplePath);
		Object l = null;
		SheetExcel(helper, wwb, list, imagePath,l);
		wwb.write();
		wwb.close();
		return wwb;
	}

	/**
	 * 
	 * CategoryDataset: 适用:
	 * 
	 * @param dataset
	 *            DefaultCategoryDataset
	 * @param nes
	 *            批次名称
	 * @param list1
	 *            SpotReport
	 * @return
	 * @exception
	 * @since 1.0.0
	 */
	public DefaultCategoryDataset CategoryDataset(
			DefaultCategoryDataset dataset, String nes, List<SpotReport> list) {
		double allTotalPassrateP = 0;
		double structurespotP = 0;
		double surfacespotP = 0;
		double bridgespotP = 0;
		double tunnelspotP = 0;
		double safetyspotP = 0;
		double materialspotP = 0;

		double allTotalPassrateC = 0;
		double structurespotC = 0;
		double surfacespotC = 0;
		double bridgespotC = 0;
		double tunnelspotC = 0;
		double safetyspotC = 0;
		double materialspotC = 0;

		double totalPassrate = 0;
		double structurespotT = 0;
		double surfacespotT = 0;
		double bridgespotT = 0;
		double tunnelspotT = 0;
		double safetyspotT = 0;
		double materialspotT = 0;
		for (int i = 0; i < list.size(); i++) {
			SpotReport spotReport = list.get(i);
			if (spotReport.getStructurespot() != null) {
				structurespotP += spotReport.getStructurespot()
						.getPassF200();
				structurespotC += spotReport.getStructurespot()
						.getCountF200();
			}
			if (spotReport.getSurfacespot() != null) {
				surfacespotP += spotReport.getSurfacespot().getPassF300();
				surfacespotC += spotReport.getSurfacespot().getCountF300();
			}
			if (spotReport.getBridgespot() != null) {
				bridgespotP += spotReport.getBridgespot().getPassF400();
				bridgespotC += spotReport.getBridgespot().getCountF400();
			}
			if (spotReport.getTunnelspot() != null) {
				tunnelspotP += spotReport.getTunnelspot().getPassF500();
				tunnelspotC += spotReport.getTunnelspot().getCountF500();
			}
			if (spotReport.getSafetyspot() != null) {
				safetyspotP += spotReport.getSafetyspot().getPassF600();
				safetyspotC += spotReport.getSafetyspot().getCountF600();
			}
			if (spotReport.getMaterialspot() != null) {
				materialspotP += spotReport.getMaterialspot().getPassF900();
				materialspotC += spotReport.getMaterialspot().getCountF900();
			}
		}
		allTotalPassrateP = MathsUtils.sum(structurespotP, surfacespotP,
				bridgespotP, tunnelspotP, safetyspotP, materialspotP);
		allTotalPassrateC = MathsUtils.sum(allTotalPassrateC, structurespotC,
				surfacespotC, bridgespotC, tunnelspotC, safetyspotC,
				materialspotC);
		if (allTotalPassrateC == 0) {
			totalPassrate = 0;
		} else {
			totalPassrate = MathsUtils.div("2", allTotalPassrateP,
					allTotalPassrateC, 0.01);
		}
		if (structurespotC == 0) {
			structurespotT = 0;
		} else {
			structurespotT = MathsUtils.div("2", structurespotP,
					structurespotC, 0.01);
		}

		if (surfacespotC == 0) {
			surfacespotT = 0;
		} else {
			surfacespotT = MathsUtils
					.div("2", surfacespotP, surfacespotC, 0.01);
		}

		if (bridgespotC == 0) {
			bridgespotT = 0;
		} else {
			bridgespotT = MathsUtils.div("2", bridgespotP, bridgespotC, 0.01);
		}

		if (tunnelspotC == 0) {
			tunnelspotT = 0;
		} else {
			tunnelspotT = MathsUtils.div("2", tunnelspotP, tunnelspotC, 0.01);
		}

		if (safetyspotC == 0) {
			safetyspotT = 0;
		} else {
			safetyspotT = MathsUtils.div("2", safetyspotP, safetyspotC, 0.01);
		}

		if (materialspotC == 0) {
			materialspotT = 0;
		} else {
			materialspotT = MathsUtils.div("2", materialspotP, materialspotC,
					0.01);
		}
		dataset.setValue(totalPassrate, nes, "合计");
		dataset.setValue(structurespotT, nes, "路基工程");
		dataset.setValue(surfacespotT, nes, "路面工程");
		dataset.setValue(bridgespotT, nes, "桥梁工程");
		dataset.setValue(tunnelspotT, nes, "隧道工程");
		dataset.setValue(safetyspotT, nes, "安全设施");
		dataset.setValue(materialspotT, nes, "原材料");
		return dataset;

	}

	/**
	 * 
	 * CategoryDatasetExcelOut: 适用:同一工程同一批次
	 * 
	 * @param dataset
	 * @param list
	 * @return
	 * @exception
	 * @since 1.0.0
	 */
	public DefaultCategoryDataset CategoryDatasetExcelOut(
			DefaultCategoryDataset dataset, List<SpotReport> list) {

		for (int i = 0; i < list.size(); i++) {
			SpotReport spotReport = list.get(i);
			String sign = "";
			if (spotReport.getSignid() != null) {
				sign = projectManager.getSign("id", spotReport.getSignid())
						.getContractOrder();
			} else {
				sign = spotReport.getBatch();
			}
			dataset.setValue(spotReport.getAllTotalPassrate(), sign, "合计");
			if (spotReport.getStructurespot() != null) {
				dataset.setValue(spotReport.getStructurespot()
						.getPassrateF200(), sign, "路基工程");
			}
			if (spotReport.getSurfacespot() != null) {
				dataset.setValue(
						spotReport.getSurfacespot().getPassrateF300(), sign,
						"路面工程");
			}
			if (spotReport.getBridgespot() != null) {
				dataset.setValue(spotReport.getBridgespot().getPassrateF400(),
						sign, "桥梁工程");
			}
			if (spotReport.getTunnelspot() != null) {
				dataset.setValue(spotReport.getTunnelspot().getPassrateF500(),
						sign, "隧道工程");
			}
			if (spotReport.getSafetyspot() != null) {
				dataset.setValue(spotReport.getSafetyspot().getPassrateF600(),
						sign, "安全设施");
			}
			if (spotReport.getMaterialspot() != null) {
				dataset.setValue(spotReport.getMaterialspot()
						.getPassrateF900(), sign, "原材料");
			}
		}
		return dataset;
	}

	/**
	 * 
	 * select: 适用:全部工程，同一批次
	 * 
	 * @param batch
	 * @param projectId
	 * @return 某一工程同一批次的相加的合计数据
	 * @exception
	 * @since 1.0.0
	 */
	public SpotReport select(String batch, String projectId, String startTime,
			String endTime) {
		QueryFilter filters1 = new QueryFilter();
		filters1.addFilter("projectInfo.id", projectId, MatchType.EQ);
		if(batch != null && !batch.equals("")){
		filters1.addFilter("batch", batch, MatchType.EQ);}
		filters1.addFilter("reportdate",
				DateUtils.convertStringToStrigulaDate(startTime), MatchType.GE);
		filters1.addFilter("reportdate",
				DateUtils.convertStringToStrigulaDate(endTime), MatchType.LT);
		List<SpotReport> listSpotReport = getSpotreportListByProperty(filters1);
		SpotReport spotReportVo = new SpotReport();
		if (listSpotReport.size() > 0) {
			List<StructureSpot> list1 = structurespotDao.select(batch,
					projectId, startTime, endTime);
			List<SurfaceSpot> list2 = surfacespotDao.select(batch, projectId,
					startTime, endTime);
			List<Bridgespot> list3 = bridgespotDao.select(batch, projectId,
					startTime, endTime);
			List<TunnelSpot> list4 = tunnelspotDao.select(batch, projectId,
					startTime, endTime);
			List<Safetyspot> list5 = safetyspotDao.select(batch, projectId,
					startTime, endTime);
			List<Materialspot> list6 = materialspotDao.select(batch, projectId,
					startTime, endTime);
			List<PileSpot> list7 = pilespotDao.select(batch, projectId,
					startTime, endTime);
			SpotReport spotReport = listSpotReport.get(0);
			if(batch != null && !batch.equals("")){
				spotReportVo.setId(spotReport.getId());
				spotReportVo.setBatch(spotReport.getBatch());
				spotReportVo.setCreateDate(spotReport.getCreateDate());
				spotReportVo.setReportdate(spotReport.getReportdate());
				spotReportVo.setSignid(spotReport.getSignid());
			}
			spotReportVo.setLocale(spotReport.getLocale());
			spotReportVo.setProjectInfo(spotReport.getProjectInfo());
			if (list1.size() > 0) {
				spotReportVo.setStructurespot(list1.get(0));
			}
			if (list2.size() > 0) {
				spotReportVo.setSurfacespot(list2.get(0));
			}
			if (list3.size() > 0) {
				spotReportVo.setBridgespot(list3.get(0));
			}
			if (list4.size() > 0) {
				spotReportVo.setTunnelspot(list4.get(0));
			}
			if (list5.size() > 0) {
				spotReportVo.setSafetyspot(list5.get(0));
			}

			if (list6.size() > 0) {
				spotReportVo.setMaterialspot(list6.get(0));
			}

			if (list7.size() > 0) {
				spotReportVo.setPilespot(list7.get(0));
			}
			return spotReportVo;
		} else {
			return null;
		}
	}

	/**
	 * 
	 * excelOutProj: 适用:全部工程，同一批次的导出，导出为Excel
	 * 
	 * @param list
	 * @param imagePath
	 * @param responOut
	 * @return
	 * @throws Exception
	 * @exception
	 * @since 1.0.0
	 */
	public WritableWorkbook excelOutProj(List<SpotReport> list,
			String imagePath, ServletOutputStream responOut, String examplePath)
			throws Exception {
		ExcelHelper helper = ExcelHelper.getInstance();
		WritableWorkbook wwb = helper.createWritableWorkbook(responOut,
				examplePath);
		Object l = null;
		SheetExcel(helper, wwb, list, imagePath ,l);
		return wwb;
	}

	/**
	 * 
	 * CategoryDatasetExcelPro: 适用:全部工程，同一批次的图形比较
	 * 
	 * @param dataset
	 * @param list
	 * @return
	 * @exception
	 * @since 1.0.0
	 */
	public DefaultCategoryDataset CategoryDatasetExcelPro(
			DefaultCategoryDataset dataset, List<SpotReport> list) {
		for (int i = 0; i < list.size(); i++) {
			SpotReport spotReport = list.get(i);
			String projectName = spotReport.getProjectInfo().getProjName();
			dataset.setValue(spotReport.getAllTotalPassrate(), projectName,
					"合计");
			if (spotReport.getStructurespot() != null) {
				dataset.setValue(spotReport.getStructurespot()
						.getPassrateF200(), projectName, "路基工程");
			}
			if (spotReport.getSurfacespot() != null) {
				dataset.setValue(
						spotReport.getSurfacespot().getPassrateF300(),
						projectName, "路面工程");
			}
			if (spotReport.getBridgespot() != null) {
				dataset.setValue(spotReport.getBridgespot().getPassrateF400(),
						projectName, "桥梁工程");
			}
			if (spotReport.getTunnelspot() != null) {
				dataset.setValue(spotReport.getTunnelspot().getPassrateF500(),
						projectName, "隧道工程");
			}
			if (spotReport.getSafetyspot() != null) {
				dataset.setValue(spotReport.getSafetyspot().getPassrateF600(),
						projectName, "安全设施");
			}
			if (spotReport.getMaterialspot() != null) {
				dataset.setValue(spotReport.getMaterialspot()
						.getPassrateF900(), projectName, "原材料");
			}
		}
		return dataset;
	}

	public List<SpotReport> getAllSpotreport() {
		return spotreportDao.getAll();
	}

	/**
	 * 
	 * getSpotreportBatch: 适用:得到检测中已有的批次
	 * 
	 * @param projectId
	 * @param startDate
	 * @param endDate
	 * @return
	 * @exception
	 * @since 1.0.0
	 */
	public List<String> getSpotreportBatch(String projectId, String startDate,
			String endDate) {
		List<SpotReport> list = new ArrayList<SpotReport>();
		QueryFilter filter = new QueryFilter();
		filter.addFilter("projectInfo.id", projectId);
		filter.addFilter("reportdate",
				DateUtils.convertStringToStrigulaDate(startDate), MatchType.GE);
		filter.addFilter("reportdate",
				DateUtils.convertStringToStrigulaDate(endDate), MatchType.LT);
		list = spotreportDao.find(filter);
		List<String> li = new ArrayList<String>();
		TreeSet<String> p = new TreeSet<String>();
		for (int i = 0; i < list.size(); i++) {
			SpotReport spotReport = list.get(i);
			p.add(spotReport.getBatch());
		}
		Iterator<String> iter = p.iterator();
		while (iter.hasNext()) {
			String nes = iter.next();
			li.add(nes);// 将批次存到list中
		}
		return li;
	}

	/**
	 * 
	 * getSpotreportTown: 适用:得到检测中已有的镇区
	 * 
	 * @param startDate
	 * @param endDate
	 * @return
	 * @exception
	 * @since 1.0.0
	 */
	public List<String> getSpotreportTown(String startDate, String endDate) {
		List<SpotReport> list = new ArrayList<SpotReport>();
		QueryFilter filter = new QueryFilter();
		filter.addFilter("reportdate",
				DateUtils.convertStringToStrigulaDate(startDate), MatchType.GE);
		filter.addFilter("reportdate",
				DateUtils.convertStringToStrigulaDate(endDate), MatchType.LT);
		list = spotreportDao.find(filter);
		List<String> li = new ArrayList<String>();
		TreeSet<String> p = new TreeSet<String>();
		for (int i = 0; i < list.size(); i++) {
			SpotReport spotReport = list.get(i);
			p.add(spotReport.getLocale());
		}
		Iterator<String> iter = p.iterator();
		while (iter.hasNext()) {
			String nes = iter.next();
			li.add(nes);// 将镇区存到list中
		}
		return li;
	}

	/**
	 * 
	 * batch: 适用:验证唯一性
	 * 
	 * @param batch
	 * @param signid
	 * @param oldBatch
	 * @param oldSignid
	 * @param projectId
	 * @return
	 * @exception
	 * @since 1.0.0
	 */
	public boolean batch(String batch, String signid, String oldBatch,
			String oldSignid, String projectId) {
		return spotreportDao.batch(batch, signid, oldBatch, oldSignid,
				projectId);
	}

	/**
	 * 
	 * totle:
	 * 适用:镇区、公路等级、行政级别之间的比较数据
	 * @param list
	 * @param town 
	 * @param datelist 
	 * @param town 
	 * @return 
	 * @exception 
	 * @since  1.0.0
	 */
	public SpotReportVo totle(List<SpotReport> list, String type,String threeType,String conditionAll, TreeSet<Date> datelist) {
		double allTotalPassrateP = 0;
		double structurespotP = 0;
		double surfacespotP = 0;
		double bridgespotP = 0;
		double tunnelspotP = 0;
		double safetyspotP = 0;
		double materialspotP = 0;

		double allTotalPassrateC = 0;
		double structurespotC = 0;
		double surfacespotC = 0;
		double bridgespotC = 0;
		double tunnelspotC = 0;
		double safetyspotC = 0;
		double materialspotC = 0;

		double totalPassrate = 0;
		double structurespotT = 0;
		double surfacespotT = 0;
		double bridgespotT = 0;
		double tunnelspotT = 0;
		double safetyspotT = 0;
		double materialspotT = 0;
		for (int i = 0; i < list.size(); i++) {
			SpotReport spotReport = list.get(i);
			if (spotReport.getStructurespot() != null) {
				structurespotP += spotReport.getStructurespot()
						.getPassF200();
				structurespotC += spotReport.getStructurespot()
						.getCountF200();
			}
			if (spotReport.getSurfacespot() != null) {
				surfacespotP += spotReport.getSurfacespot().getPassF300();
				surfacespotC += spotReport.getSurfacespot().getCountF300();
			}
			if (spotReport.getBridgespot() != null) {
				bridgespotP += spotReport.getBridgespot().getPassF400();
				bridgespotC += spotReport.getBridgespot().getCountF400();
			}
			if (spotReport.getTunnelspot() != null) {
				tunnelspotP += spotReport.getTunnelspot().getPassF500();
				tunnelspotC += spotReport.getTunnelspot().getCountF500();
			}
			if (spotReport.getSafetyspot() != null) {
				safetyspotP += spotReport.getSafetyspot().getPassF600();
				safetyspotC += spotReport.getSafetyspot().getCountF600();
			}
			if (spotReport.getMaterialspot() != null) {
				materialspotP += spotReport.getMaterialspot().getPassF900();
				materialspotC += spotReport.getMaterialspot().getCountF900();
			}
		}
		allTotalPassrateP = MathsUtils.sum(structurespotP, surfacespotP,
				bridgespotP, tunnelspotP, safetyspotP, materialspotP);
		allTotalPassrateC = MathsUtils.sum(allTotalPassrateC, structurespotC,
				surfacespotC, bridgespotC, tunnelspotC, safetyspotC,
				materialspotC);

		if (allTotalPassrateC == 0) {
			totalPassrate = 0;
		} else {
			totalPassrate = MathsUtils.div("2", allTotalPassrateP,
					allTotalPassrateC, 0.01);
		}
		if (structurespotC == 0) {
			structurespotT = 0;
		} else {
			structurespotT = MathsUtils.div("2", structurespotP,
					structurespotC, 0.01);
		}

		if (surfacespotC == 0) {
			surfacespotT = 0;
		} else {
			surfacespotT = MathsUtils
					.div("2", surfacespotP, surfacespotC, 0.01);
		}

		if (bridgespotC == 0) {
			bridgespotT = 0;
		} else {
			bridgespotT = MathsUtils.div("2", bridgespotP, bridgespotC, 0.01);
		}

		if (tunnelspotC == 0) {
			tunnelspotT = 0;
		} else {
			tunnelspotT = MathsUtils.div("2", tunnelspotP, tunnelspotC, 0.01);
		}

		if (safetyspotC == 0) {
			safetyspotT = 0;
		} else {
			safetyspotT = MathsUtils.div("2", safetyspotP, safetyspotC, 0.01);
		}

		if (materialspotC == 0) {
			materialspotT = 0;
		} else {
			materialspotT = MathsUtils.div("2", materialspotP, materialspotC,
					0.01);
		}
		/** 该段代码是为了得到满足以上条件的数据中的提交的最小和最大时间，如果页面中穿来了时间，那就以页面中的时间优先*/
		List<String> sdate = new ArrayList<String>();
		if(!datelist.isEmpty()){
		for(Date d : datelist){
			sdate.add(DateUtils.convertDateToString(d));
			}
		}
		/**/
		
		
		SpotReportVo spotReportVo = new SpotReportVo();
		spotReportVo.setType(type);
		spotReportVo.setCondition(conditionAll);
		if(!sdate.isEmpty()){
		spotReportVo.setStartDate(sdate.get(0));
		spotReportVo.setEndDate(sdate.get(sdate.size()-1));}
		spotReportVo.setThreeType(threeType);
		spotReportVo.setAllTotalPassrateP(allTotalPassrateP);
		spotReportVo.setSafetyspotP(safetyspotP);
		spotReportVo.setSurfacespotP(surfacespotP);
		spotReportVo.setBridgespotP(bridgespotP);
		spotReportVo.setTunnelspotP(tunnelspotP);
		spotReportVo.setSafetyspotP(safetyspotP);
		spotReportVo.setMaterialspotP(materialspotP);

		spotReportVo.setAllTotalPassrateC(allTotalPassrateC);
		spotReportVo.setStructurespotC(structurespotC);
		spotReportVo.setSurfacespotC(surfacespotC);
		spotReportVo.setBridgespotC(bridgespotC);
		spotReportVo.setTunnelspotC(tunnelspotC);
		spotReportVo.setSafetyspotC(safetyspotC);
		spotReportVo.setMaterialspotC(materialspotC);

		spotReportVo.setTotalPassrate(totalPassrate);
		spotReportVo.setStructurespotT(structurespotT);
		spotReportVo.setSurfacespotT(surfacespotT);
		spotReportVo.setBridgespotT(bridgespotT);
		spotReportVo.setTunnelspotT(tunnelspotT);
		spotReportVo.setSafetyspotT(safetyspotT);
		spotReportVo.setMaterialspotT(materialspotT);
		return spotReportVo;
	}

	/**
	 * 
	 * CategoryDataset:
	 * 适用:镇区、公路等级、行政级别之间的图片比较数据
	 * @param dataset
	 * @param list
	 * @return 
	 * @exception 
	 * @since  1.0.0
	 */
	public DefaultCategoryDataset CategoryDataset(
			DefaultCategoryDataset dataset, List<SpotReportVo> list) {
			for (int i = 0; i < list.size(); i++) {
				SpotReportVo spotReportVo = list.get(i);
				String localeTown = spotReportVo.getThreeType();
//				dataset.setValue(spotReportVo.getTotalPassrate(), localeTown,
//						"合计");
				dataset.setValue(spotReportVo.getStructurespotT(), localeTown, "路基工程");
				dataset.setValue(spotReportVo.getSurfacespotT(),localeTown, "路面工程");
				dataset.setValue(spotReportVo.getBridgespotT(),localeTown, "桥梁工程");
				dataset.setValue(spotReportVo.getTunnelspotT(),localeTown, "隧道工程");
				dataset.setValue(spotReportVo.getSafetyspotT(),localeTown, "安全设施");
				dataset.setValue(spotReportVo.getMaterialspotT(), localeTown, "原材料");
		}
		return dataset;
	}

	/**
	 * 
	 * three:
	 * 适用:通过
	 * @param startTime 开始时间
	 * @param endTime 结束时间
	 * @param leves 条件1 leves为xx;bb;uu;这样的字符串,即带;
	 * @param roads 条件2 roads为xx;bb;uu;这样的字符串,即带;
	 * @param towns 条件3 towns为xx;bb;uu;这样的字符串,即带;
	 * @param listAll 总记录
	 * @return 返回满足条件的listAll
	 * @exception 
	 * @since  1.0.0
	 */
	public List<SpotReport> three(String type,String plans,String startTime, String endTime,String towns, String roads, String leves) {
		
		QueryFilter filters = new QueryFilter();
		filters.addFilter("reportdate",DateUtils.convertStringToStrigulaDate(startTime), MatchType.GE);
		filters.addFilter("reportdate",DateUtils.convertStringToStrigulaDate(endTime), MatchType.LT);
		//按时间查找全部符合条件的数据
		List<SpotReport> listAll = this.getSpotreportListByProperty(filters);
		//设置三个set类型的SpotReport，利用它们来获取满足以下各种条件的已经查询出来的listAll记中的记录
		Set<SpotReport> listTown = new HashSet<SpotReport>();
		
		Set<SpotReport> listOne = new HashSet<SpotReport>();
		Set<SpotReport> listTwo = new HashSet<SpotReport>();
		Set<SpotReport> listThree = new HashSet<SpotReport>();
		
		List<SpotReport> list0 = new ArrayList<SpotReport>();
		Set<SpotReport> list = new HashSet<SpotReport>();
		Set<SpotReport> list1 = new HashSet<SpotReport>();
		if(plans != null && !plans.equals("")){
			String[] planTypes = plans.split(", ");
			for(int j = 0 ; j< listAll.size() ;j++){
				String planType = listAll.get(j).getProjectInfo().getPlanType();
				for(int i = 0; i <planTypes.length ; i++){
					if(planType.equals(planTypes[i])){	
						list1.add(listAll.get(j));
					}
				}
			}
			listAll.clear();
			listAll.addAll(list1);
		}
		//镇区条件
		if(type != null && type.equals("town")){
			for(int j = 0 ; j< listAll.size() ;j++){
				String locale = listAll.get(j).getProjectInfo().getAtTown();
				if(locale.contains(",")){
					if(towns != null && !towns.equals("")){
						//转化成数组类型
						String[] townItems = towns.split(", ");
						for(int i = 0; i <townItems.length ; i++){
							if(locale.contains(townItems[i])){	
								list.add(listAll.get(j));
							}
						}
					}else{
						list.add(listAll.get(j));
					}
				}else{
					listTown.add(listAll.get(j));
				}
			}
			list0.addAll(list);
			//清除listAll中的数据
			listAll.clear();
			//添加进listAll中的数据，通过镇区的条件后，得到的最新数据
			listAll.addAll(listTown);
		}
		//镇区条件
		if(towns != null && !towns.equals("")){
			//转化成数组类型
			String[] townItems = towns.split(", ");
			for(int i = 0; i <townItems.length ; i++)
			{
				for(int j = 0 ; j< listAll.size() ;j++){
					String locale = listAll.get(j).getProjectInfo().getAtTown();
					if(locale.contains(townItems[i])){
						listOne.add(listAll.get(j));
					}
				}
			}
				//清除listAll中的数据
				listAll.clear();
				//添加进listAll中的数据，通过镇区的条件后，得到的最新数据
				listAll.addAll(listOne);
		}
		//公路等级条件
		if(roads != null && !roads.equals("")){
			String[] roadItems = roads.split(", ");
			for(int i = 0; i <roadItems.length ; i++)
			{
				for(int j = 0 ; j< listAll.size() ;j++){
					if(listAll.get(j).getProjectInfo().getTechGrade().equals(roadItems[i])){
						listTwo.add(listAll.get(j));
					}
				}
			}
				listAll.clear();
				listAll.addAll(listTwo);
		}
		//行政级别条件
		if(leves != null && !leves.equals("")){
			String[] levelItems = leves.split(", ");
			for(int i = 0; i <levelItems.length ; i++)
			{
				for(int j = 0 ; j< listAll.size() ;j++){
					if(listAll.get(j).getProjectInfo().getSocialLevel().equals(levelItems[i])){
						listThree.add(listAll.get(j));
					}
				}
			}
				listAll.clear();
				listAll.addAll(listThree);
		}
		TreeSet<Date> datelist = new TreeSet<Date>();
		Struts2Utils.getRequest().setAttribute("listlocal",this.unquitList(list0, type, "",datelist));
		return listAll;
	}
	
	public WritableWorkbook excelThree(List<SpotReport> list,List<SpotReportVo> list2, String imagePath, ServletOutputStream responOut, String examplePath)
			throws Exception {
		ExcelHelper helper = ExcelHelper.getInstance();
		WritableWorkbook wwb = helper.createWritableWorkbook(responOut,
				examplePath);
		SheetExcelzong(helper, wwb, list, imagePath,list2);
		return wwb;
	}

	public void SheetExcelzong(ExcelHelper helper, WritableWorkbook wwb,
			List<SpotReport> list, String imagePath, List<SpotReportVo> list2)throws Exception { {
		
		WritableSheet[] sheets = wwb.getSheets();
		for (int i = 1; i <= list.size(); i++) {
			SpotReport spotReport = list.get(i - 1);
			/** 第一个Excel-- 监督抽检 */
			WritableSheet sheet1 = sheets[0];
			String signName = "";
			if (spotReport.getSignid() != null) {
				signName = "(标段为"
						+ projectManager.getSign("id", spotReport.getSignid())
								.getContractOrder() + ")";
			}
			sheet1.insertRow(5 + i);
			sheet1 = helper.addCell(sheet1, 0, 5 + i, spotReport.getLocale());
			String batch = "";
			if(StringUtils.isNotEmpty(spotReport.getBatch())){
				 batch = "(第"+ spotReport.getBatch() + "批次)";
			}
			sheet1 = helper.addCell(sheet1, 1, 5 + i, spotReport
					.getProjectInfo().getProjName()
					+ signName + batch);

			sheet1 = helper.addCell(sheet1, 2, 5 + i, spotReport.getAllCount());
			sheet1 = helper.addCell(sheet1, 3, 5 + i, spotReport.getAllPass());
			sheet1 = helper.addCell(sheet1, 4, 5 + i,
					spotReport.getAllTotalPassrate());
			if (spotReport.getStructurespot() != null) {
				sheet1 = helper.addCell(sheet1, 5, 5 + i, spotReport
						.getStructurespot().getCountF200());
				sheet1 = helper.addCell(sheet1, 6, 5 + i, spotReport
						.getStructurespot().getPassF200());
				sheet1 = helper.addCell(sheet1, 7, 5 + i, spotReport
						.getStructurespot().getPassrateF200());
			}

			if (spotReport.getSurfacespot() != null) {
				sheet1 = helper.addCell(sheet1, 8, 5 + i, spotReport
						.getSurfacespot().getCountF300());
				sheet1 = helper.addCell(sheet1, 9, 5 + i, spotReport
						.getSurfacespot().getPassF300());
				sheet1 = helper.addCell(sheet1, 10, 5 + i, spotReport
						.getSurfacespot().getPassrateF300());
			}

			if (spotReport.getBridgespot() != null) {
				sheet1 = helper.addCell(sheet1, 11, 5 + i, spotReport
						.getBridgespot().getCountF400());
				sheet1 = helper.addCell(sheet1, 12, 5 + i, spotReport
						.getBridgespot().getPassF400());
				sheet1 = helper.addCell(sheet1, 13, 5 + i, spotReport
						.getBridgespot().getPassrateF400());
			}

			if (spotReport.getTunnelspot() != null) {
				sheet1 = helper.addCell(sheet1, 14, 5 + i, spotReport
						.getTunnelspot().getCountF500());
				sheet1 = helper.addCell(sheet1, 15, 5 + i, spotReport
						.getTunnelspot().getPassF500());
				sheet1 = helper.addCell(sheet1, 16, 5 + i, spotReport
						.getTunnelspot().getPassrateF500());
			}

			if (spotReport.getSafetyspot() != null) {
				sheet1 = helper.addCell(sheet1, 17, 5 + i, spotReport
						.getSafetyspot().getCountF600());
				sheet1 = helper.addCell(sheet1, 18, 5 + i, spotReport
						.getSafetyspot().getPassF600());
				sheet1 = helper.addCell(sheet1, 19, 5 + i, spotReport
						.getSafetyspot().getPassrateF600());
			}

			if (spotReport.getMaterialspot() != null) {
				sheet1 = helper.addCell(sheet1, 20, 5 + i, spotReport
						.getMaterialspot().getCountF900());
				sheet1 = helper.addCell(sheet1, 21, 5 + i, spotReport
						.getMaterialspot().getPassF900());
				sheet1 = helper.addCell(sheet1, 22, 5 + i, spotReport
						.getMaterialspot().getPassrateF900());
			}

			/** 第2个Excel--路基工程 */
			if (spotReport.getStructurespot() != null) {
				WritableSheet sheet2 = sheets[1];
				sheet2.insertRow(8 + i);
				sheet2 = helper.addCell(sheet2, 0, 8 + i,
						spotReport.getLocale());
				sheet2 = helper.addCell(sheet2, 1, 8 + i, spotReport
						.getProjectInfo().getProjName()
						+ signName
						+ batch);

				sheet2 = helper.addCell(sheet2, 2, 8 + i, spotReport
						.getStructurespot().getCountF200());
				sheet2 = helper.addCell(sheet2, 3, 8 + i, spotReport
						.getStructurespot().getPassF200());
				sheet2 = helper.addCell(sheet2, 4, 8 + i, spotReport
						.getStructurespot().getPassrateF200());

				sheet2 = helper.addCell(sheet2, 5, 8 + i, spotReport
						.getStructurespot().getCountF201());
				sheet2 = helper.addCell(sheet2, 6, 8 + i, spotReport
						.getStructurespot().getPassF201());
				sheet2 = helper.addCell(sheet2, 7, 8 + i, spotReport
						.getStructurespot().getPassrateF201());

				sheet2 = helper.addCell(sheet2, 8, 8 + i, spotReport
						.getStructurespot().getCountF202());
				sheet2 = helper.addCell(sheet2, 9, 8 + i, spotReport
						.getStructurespot().getPassF202());
				sheet2 = helper.addCell(sheet2, 10, 8 + i, spotReport
						.getStructurespot().getPassrateF202());

				sheet2 = helper.addCell(sheet2, 11, 8 + i, spotReport
						.getStructurespot().getCountF203());
				sheet2 = helper.addCell(sheet2, 12, 8 + i, spotReport
						.getStructurespot().getPassF203());
				sheet2 = helper.addCell(sheet2, 13, 8 + i, spotReport
						.getStructurespot().getPassrateF203());

				sheet2 = helper.addCell(sheet2, 14, 8 + i, spotReport
						.getStructurespot().getCountF204());
				sheet2 = helper.addCell(sheet2, 15, 8 + i, spotReport
						.getStructurespot().getPassF204());
				sheet2 = helper.addCell(sheet2, 16, 8 + i, spotReport
						.getStructurespot().getPassrateF204());

				sheet2 = helper.addCell(sheet2, 17, 8 + i, spotReport
						.getStructurespot().getCountF205());
				sheet2 = helper.addCell(sheet2, 18, 8 + i, spotReport
						.getStructurespot().getPassF205());
				sheet2 = helper.addCell(sheet2, 19, 8 + i, spotReport
						.getStructurespot().getPassrateF205());

				sheet2 = helper.addCell(sheet2, 20, 8 + i, spotReport
						.getStructurespot().getCountF206());
				sheet2 = helper.addCell(sheet2, 21, 8 + i, spotReport
						.getStructurespot().getPassF206());
				sheet2 = helper.addCell(sheet2, 22, 8 + i, spotReport
						.getStructurespot().getPassrateF206());

				sheet2 = helper.addCell(sheet2, 23, 8 + i, spotReport
						.getStructurespot().getCountF207());
				sheet2 = helper.addCell(sheet2, 24, 8 + i, spotReport
						.getStructurespot().getPassF207());
				sheet2 = helper.addCell(sheet2, 25, 8 + i, spotReport
						.getStructurespot().getPassrateF207());
			}

			/** 第3个Excel--路面工程 */
			if (spotReport.getSurfacespot() != null) {
				WritableSheet sheet3 = sheets[2];
				sheet3.insertRow(7 + i);
				sheet3 = helper.addCell(sheet3, 0, 7 + i,
						spotReport.getLocale());
				sheet3 = helper.addCell(sheet3, 1, 7 + i, spotReport
						.getProjectInfo().getProjName()
						+ signName
						+ batch);

				sheet3 = helper.addCell(sheet3, 2, 7 + i, spotReport
						.getSurfacespot().getCountF300());
				sheet3 = helper.addCell(sheet3, 3, 7 + i, spotReport
						.getSurfacespot().getPassF300());
				sheet3 = helper.addCell(sheet3, 4, 7 + i, spotReport
						.getSurfacespot().getPassrateF300());

				sheet3 = helper.addCell(sheet3, 5, 7 + i, spotReport
						.getSurfacespot().getCountF301());
				sheet3 = helper.addCell(sheet3, 6, 7 + i, spotReport
						.getSurfacespot().getPassF301());
				sheet3 = helper.addCell(sheet3, 7, 7 + i, spotReport
						.getSurfacespot().getPassrateF301());

				sheet3 = helper.addCell(sheet3, 8, 7 + i, spotReport
						.getSurfacespot().getCountF302());
				sheet3 = helper.addCell(sheet3, 9, 7 + i, spotReport
						.getSurfacespot().getPassF302());
				sheet3 = helper.addCell(sheet3, 10, 7 + i, spotReport
						.getSurfacespot().getPassrateF302());

				sheet3 = helper.addCell(sheet3, 11, 7 + i, spotReport
						.getSurfacespot().getCountF303());
				sheet3 = helper.addCell(sheet3, 12, 7 + i, spotReport
						.getSurfacespot().getPassF303());
				sheet3 = helper.addCell(sheet3, 13, 7 + i, spotReport
						.getSurfacespot().getPassrateF303());

				sheet3 = helper.addCell(sheet3, 14, 7 + i, spotReport
						.getSurfacespot().getCountF304());
				sheet3 = helper.addCell(sheet3, 15, 7 + i, spotReport
						.getSurfacespot().getPassF304());
				sheet3 = helper.addCell(sheet3, 16, 7 + i, spotReport
						.getSurfacespot().getPassrateF304());

				sheet3 = helper.addCell(sheet3, 17, 7 + i, spotReport
						.getSurfacespot().getCountF305());
				sheet3 = helper.addCell(sheet3, 18, 7 + i, spotReport
						.getSurfacespot().getPassF305());
				sheet3 = helper.addCell(sheet3, 19, 7 + i, spotReport
						.getSurfacespot().getPassrateF305());

				sheet3 = helper.addCell(sheet3, 20, 7 + i, spotReport
						.getSurfacespot().getCountF306());
				sheet3 = helper.addCell(sheet3, 21, 7 + i, spotReport
						.getSurfacespot().getPassF306());
				sheet3 = helper.addCell(sheet3, 22, 7 + i, spotReport
						.getSurfacespot().getPassrateF306());

				sheet3 = helper.addCell(sheet3, 23, 7 + i, spotReport
						.getSurfacespot().getCountF307());
				sheet3 = helper.addCell(sheet3, 24, 7 + i, spotReport
						.getSurfacespot().getPassF307());
				sheet3 = helper.addCell(sheet3, 25, 7 + i, spotReport
						.getSurfacespot().getPassrateF307());

				sheet3 = helper.addCell(sheet3, 26, 7 + i, spotReport
						.getSurfacespot().getCountF308());
				sheet3 = helper.addCell(sheet3, 27, 7 + i, spotReport
						.getSurfacespot().getPassF308());
				sheet3 = helper.addCell(sheet3, 28, 7 + i, spotReport
						.getSurfacespot().getPassrateF308());

				sheet3 = helper.addCell(sheet3, 29, 7 + i, spotReport
						.getSurfacespot().getCountF309());
				sheet3 = helper.addCell(sheet3, 30, 7 + i, spotReport
						.getSurfacespot().getPassF309());
				sheet3 = helper.addCell(sheet3, 31, 7 + i, spotReport
						.getSurfacespot().getPassrateF309());

				sheet3 = helper.addCell(sheet3, 32, 7 + i, spotReport
						.getSurfacespot().getCountF310());
				sheet3 = helper.addCell(sheet3, 33, 7 + i, spotReport
						.getSurfacespot().getPassF310());
				sheet3 = helper.addCell(sheet3, 34, 7 + i, spotReport
						.getSurfacespot().getPassrateF310());
			}

			/** 第4个Excel--桥梁工程 */
			if (spotReport.getBridgespot() != null) {
				WritableSheet sheet4 = sheets[3];
				sheet4.insertRow(7 + i);
				sheet4 = helper.addCell(sheet4, 0, 7 + i,
						spotReport.getLocale());
				sheet4 = helper.addCell(sheet4, 1, 7 + i, spotReport
						.getProjectInfo().getProjName()
						+ signName
						+ batch);

				sheet4 = helper.addCell(sheet4, 2, 7 + i, spotReport
						.getBridgespot().getCountF400());
				sheet4 = helper.addCell(sheet4, 3, 7 + i, spotReport
						.getBridgespot().getPassF400());
				sheet4 = helper.addCell(sheet4, 4, 7 + i, spotReport
						.getBridgespot().getPassrateF400());

				sheet4 = helper.addCell(sheet4, 5, 7 + i, spotReport
						.getBridgespot().getCountF401());
				sheet4 = helper.addCell(sheet4, 6, 7 + i, spotReport
						.getBridgespot().getPassF401());
				sheet4 = helper.addCell(sheet4, 7, 7 + i, spotReport
						.getBridgespot().getPassrateF401());

				sheet4 = helper.addCell(sheet4, 8, 7 + i, spotReport
						.getBridgespot().getCountF402());
				sheet4 = helper.addCell(sheet4, 9, 7 + i, spotReport
						.getBridgespot().getPassF402());
				sheet4 = helper.addCell(sheet4, 10, 7 + i, spotReport
						.getBridgespot().getPassrateF402());

				sheet4 = helper.addCell(sheet4, 11, 7 + i, spotReport
						.getBridgespot().getCountF403());
				sheet4 = helper.addCell(sheet4, 12, 7 + i, spotReport
						.getBridgespot().getPassF403());
				sheet4 = helper.addCell(sheet4, 13, 7 + i, spotReport
						.getBridgespot().getPassrateF403());

				sheet4 = helper.addCell(sheet4, 14, 7 + i, spotReport
						.getBridgespot().getCountF404());
				sheet4 = helper.addCell(sheet4, 15, 7 + i, spotReport
						.getBridgespot().getPassF404());
				sheet4 = helper.addCell(sheet4, 16, 7 + i, spotReport
						.getBridgespot().getPassrateF404());

				sheet4 = helper.addCell(sheet4, 17, 7 + i, spotReport
						.getBridgespot().getCountF405());
				sheet4 = helper.addCell(sheet4, 18, 7 + i, spotReport
						.getBridgespot().getPassF405());
				sheet4 = helper.addCell(sheet4, 19, 7 + i, spotReport
						.getBridgespot().getPassrateF405());

				sheet4 = helper.addCell(sheet4, 20, 7 + i, spotReport
						.getBridgespot().getCountF406());
				sheet4 = helper.addCell(sheet4, 21, 7 + i, spotReport
						.getBridgespot().getPassF406());
				sheet4 = helper.addCell(sheet4, 22, 7 + i, spotReport
						.getBridgespot().getPassrateF406());

				sheet4 = helper.addCell(sheet4, 23, 7 + i, spotReport
						.getBridgespot().getCountF407());
				sheet4 = helper.addCell(sheet4, 24, 7 + i, spotReport
						.getBridgespot().getPassF407());
				sheet4 = helper.addCell(sheet4, 25, 7 + i, spotReport
						.getBridgespot().getPassrateF407());
				
				sheet4 = helper.addCell(sheet4, 26, 7 + i, spotReport
						.getBridgespot().getCountF408());
				sheet4 = helper.addCell(sheet4, 27, 7 + i, spotReport
						.getBridgespot().getPassF408());
				sheet4 = helper.addCell(sheet4, 28, 7 + i, spotReport
						.getBridgespot().getPassrateF408());
			}

			/** 第5个Excel--隧道工程 */
			if (spotReport.getTunnelspot() != null) {
				WritableSheet sheet5 = sheets[4];
				sheet5.insertRow(7 + i);
				sheet5 = helper.addCell(sheet5, 0, 7 + i,
						spotReport.getLocale());
				sheet5 = helper.addCell(sheet5, 1, 7 + i, spotReport
						.getProjectInfo().getProjName()
						+ signName
						+ batch);

				sheet5 = helper.addCell(sheet5, 2, 7 + i, spotReport
						.getTunnelspot().getCountF500());
				sheet5 = helper.addCell(sheet5, 3, 7 + i, spotReport
						.getTunnelspot().getPassF500());
				sheet5 = helper.addCell(sheet5, 4, 7 + i, spotReport
						.getTunnelspot().getPassrateF500());

				sheet5 = helper.addCell(sheet5, 5, 7 + i, spotReport
						.getTunnelspot().getCountF501());
				sheet5 = helper.addCell(sheet5, 6, 7 + i, spotReport
						.getTunnelspot().getPassF501());
				sheet5 = helper.addCell(sheet5, 7, 7 + i, spotReport
						.getTunnelspot().getPassrateF501());

				sheet5 = helper.addCell(sheet5, 8, 7 + i, spotReport
						.getTunnelspot().getCountF502());
				sheet5 = helper.addCell(sheet5, 9, 7 + i, spotReport
						.getTunnelspot().getPassF502());
				sheet5 = helper.addCell(sheet5, 10, 7 + i, spotReport
						.getTunnelspot().getPassrateF502());

				sheet5 = helper.addCell(sheet5, 11, 7 + i, spotReport
						.getTunnelspot().getCountF503());
				sheet5 = helper.addCell(sheet5, 12, 7 + i, spotReport
						.getTunnelspot().getPassF503());
				sheet5 = helper.addCell(sheet5, 13, 7 + i, spotReport
						.getTunnelspot().getPassrateF503());
				
				sheet5 = helper.addCell(sheet5, 14, 7 + i, spotReport
						.getTunnelspot().getCountF504());
				sheet5 = helper.addCell(sheet5, 15, 7 + i, spotReport
						.getTunnelspot().getPassF504());
				sheet5 = helper.addCell(sheet5, 16, 7 + i, spotReport
						.getTunnelspot().getPassrateF504());
				
				
			}

			/** 第6个Excel--安全工程 */
			if (spotReport.getSafetyspot() != null) {
				WritableSheet sheet6 = sheets[5];
				sheet6.insertRow(7 + i);
				sheet6 = helper.addCell(sheet6, 0, 7 + i,
						spotReport.getLocale());
				sheet6 = helper.addCell(sheet6, 1, 7 + i, spotReport
						.getProjectInfo().getProjName()
						+ signName
						+ batch);

				sheet6 = helper.addCell(sheet6, 2, 7 + i, spotReport
						.getSafetyspot().getCountF600());
				sheet6 = helper.addCell(sheet6, 3, 7 + i, spotReport
						.getSafetyspot().getPassF600());
				sheet6 = helper.addCell(sheet6, 4, 7 + i, spotReport
						.getSafetyspot().getPassrateF600());

				sheet6 = helper.addCell(sheet6, 5, 7 + i, spotReport
						.getSafetyspot().getCountF601());
				sheet6 = helper.addCell(sheet6, 6, 7 + i, spotReport
						.getSafetyspot().getPassF601());
				sheet6 = helper.addCell(sheet6, 7, 7 + i, spotReport
						.getSafetyspot().getPassrateF601());

				sheet6 = helper.addCell(sheet6, 8, 7 + i, spotReport
						.getSafetyspot().getCountF602());
				sheet6 = helper.addCell(sheet6, 9, 7 + i, spotReport
						.getSafetyspot().getPassF602());
				sheet6 = helper.addCell(sheet6, 10, 7 + i, spotReport
						.getSafetyspot().getPassrateF602());

				sheet6 = helper.addCell(sheet6, 11, 7 + i, spotReport
						.getSafetyspot().getCountF603());
				sheet6 = helper.addCell(sheet6, 12, 7 + i, spotReport
						.getSafetyspot().getPassF603());
				sheet6 = helper.addCell(sheet6, 13, 7 + i, spotReport
						.getSafetyspot().getPassrateF603());

				sheet6 = helper.addCell(sheet6, 14, 7 + i, spotReport
						.getSafetyspot().getCountF604());
				sheet6 = helper.addCell(sheet6, 15, 7 + i, spotReport
						.getSafetyspot().getPassF604());
				sheet6 = helper.addCell(sheet6, 16, 7 + i, spotReport
						.getSafetyspot().getPassrateF604());

				sheet6 = helper.addCell(sheet6, 17, 7 + i, spotReport
						.getSafetyspot().getCountF605());
				sheet6 = helper.addCell(sheet6, 18, 7 + i, spotReport
						.getSafetyspot().getPassF605());
				sheet6 = helper.addCell(sheet6, 19, 7 + i, spotReport
						.getSafetyspot().getPassrateF605());

				sheet6 = helper.addCell(sheet6, 20, 7 + i, spotReport
						.getSafetyspot().getCountF606());
				sheet6 = helper.addCell(sheet6, 21, 7 + i, spotReport
						.getSafetyspot().getPassF606());
				sheet6 = helper.addCell(sheet6, 22, 7 + i, spotReport
						.getSafetyspot().getPassrateF606());

				sheet6 = helper.addCell(sheet6, 23, 7 + i, spotReport
						.getSafetyspot().getCountF607());
				sheet6 = helper.addCell(sheet6, 24, 7 + i, spotReport
						.getSafetyspot().getPassF607());
				sheet6 = helper.addCell(sheet6, 25, 7 + i, spotReport
						.getSafetyspot().getPassrateF607());

				sheet6 = helper.addCell(sheet6, 26, 7 + i, spotReport
						.getSafetyspot().getCountF608());
				sheet6 = helper.addCell(sheet6, 27, 7 + i, spotReport
						.getSafetyspot().getPassF608());
				sheet6 = helper.addCell(sheet6, 28, 7 + i, spotReport
						.getSafetyspot().getPassrateF608());

				sheet6 = helper.addCell(sheet6, 29, 7 + i, spotReport
						.getSafetyspot().getCountF609());
				sheet6 = helper.addCell(sheet6, 30, 7 + i, spotReport
						.getSafetyspot().getPassF609());
				sheet6 = helper.addCell(sheet6, 31, 7 + i, spotReport
						.getSafetyspot().getPassrateF609());

				sheet6 = helper.addCell(sheet6, 32, 7 + i, spotReport
						.getSafetyspot().getCountF610());
				sheet6 = helper.addCell(sheet6, 33, 7 + i, spotReport
						.getSafetyspot().getPassF610());
				sheet6 = helper.addCell(sheet6, 34, 7 + i, spotReport
						.getSafetyspot().getPassrateF610());
			}

			/** 第7个Excel--原材料工程 */
			if (spotReport.getMaterialspot() != null) {
				WritableSheet sheet7 = sheets[6];
				sheet7.insertRow(7 + i);
				sheet7 = helper.addCell(sheet7, 0, 7 + i,
						spotReport.getLocale());
				sheet7 = helper.addCell(sheet7, 1, 7 + i, spotReport
						.getProjectInfo().getProjName()
						+ signName
						+ batch);

				sheet7 = helper.addCell(sheet7, 2, 7 + i, spotReport
						.getMaterialspot().getCountF900());
				sheet7 = helper.addCell(sheet7, 3, 7 + i, spotReport
						.getMaterialspot().getPassF900());
				sheet7 = helper.addCell(sheet7, 4, 7 + i, spotReport
						.getMaterialspot().getPassrateF900());

				sheet7 = helper.addCell(sheet7, 5, 7 + i, spotReport
						.getMaterialspot().getCountF901());
				sheet7 = helper.addCell(sheet7, 6, 7 + i, spotReport
						.getMaterialspot().getPassF901());
				sheet7 = helper.addCell(sheet7, 7, 7 + i, spotReport
						.getMaterialspot().getPassrateF901());

				sheet7 = helper.addCell(sheet7, 8, 7 + i, spotReport
						.getMaterialspot().getCountF902());
				sheet7 = helper.addCell(sheet7, 9, 7 + i, spotReport
						.getMaterialspot().getPassF902());
				sheet7 = helper.addCell(sheet7, 10, 7 + i, spotReport
						.getMaterialspot().getPassrateF902());

				sheet7 = helper.addCell(sheet7, 11, 7 + i, spotReport
						.getMaterialspot().getCountF903());
				sheet7 = helper.addCell(sheet7, 12, 7 + i, spotReport
						.getMaterialspot().getPassF903());
				sheet7 = helper.addCell(sheet7, 13, 7 + i, spotReport
						.getMaterialspot().getPassrateF903());
				
				sheet7 = helper.addCell(sheet7, 14, 7 + i, spotReport
						.getMaterialspot().getCountF904());
				sheet7 = helper.addCell(sheet7, 15, 7 + i, spotReport
						.getMaterialspot().getPassF904());
				sheet7 = helper.addCell(sheet7, 16, 7 + i, spotReport
						.getMaterialspot().getPassrateF904());
				
				sheet7 = helper.addCell(sheet7, 17, 7 + i, spotReport
						.getMaterialspot().getCountF905());
				sheet7 = helper.addCell(sheet7, 18, 7 + i, spotReport
						.getMaterialspot().getPassF905());
				sheet7 = helper.addCell(sheet7, 19, 7 + i, spotReport
						.getMaterialspot().getPassrateF905());
				
				sheet7 = helper.addCell(sheet7, 20, 7 + i, spotReport
						.getMaterialspot().getCountF906());
				sheet7 = helper.addCell(sheet7, 21, 7 + i, spotReport
						.getMaterialspot().getPassF906());
				sheet7 = helper.addCell(sheet7, 22, 7 + i, spotReport
						.getMaterialspot().getPassrateF906());
				
				sheet7 = helper.addCell(sheet7, 23, 7 + i, spotReport
						.getMaterialspot().getCountF907());
				sheet7 = helper.addCell(sheet7, 24, 7 + i, spotReport
						.getMaterialspot().getPassF907());
				sheet7 = helper.addCell(sheet7, 25, 7 + i, spotReport
						.getMaterialspot().getPassrateF907());
				
				sheet7 = helper.addCell(sheet7, 26, 7 + i, spotReport
						.getMaterialspot().getCountF908());
				sheet7 = helper.addCell(sheet7, 27, 7 + i, spotReport
						.getMaterialspot().getPassF908());
				sheet7 = helper.addCell(sheet7, 28, 7 + i, spotReport
						.getMaterialspot().getPassrateF908());
			}
			
			/** 第8个Excel-工程 */
			if (spotReport.getPilespot() != null) {
				WritableSheet sheet8 = sheets[7];
				sheet8.insertRow(7 + i);
				sheet8 = helper.addCell(sheet8, 0, 7 + i,
						spotReport.getLocale());
				sheet8 = helper.addCell(sheet8, 1, 7 + i, spotReport
						.getProjectInfo().getProjName()
						+ signName
						+ batch);
				
//				sheet8 = helper.addCell(sheet8, 2, 7 + i, spotReport
//						.getPilespot().getBridgeName());
//				sheet8 = helper.addCell(sheet8, 3, 7 + i, spotReport
//						.getPilespot().getMethod());
				
				sheet8 = helper.addCell(sheet8, 2, 7 + i, spotReport
						.getPilespot().getCount());
				
				sheet8 = helper.addCell(sheet8, 3, 7 + i, spotReport
						.getPilespot().getPass1());
				sheet8 = helper.addCell(sheet8, 4, 7 + i, spotReport
						.getPilespot().getPass2());
				sheet8 = helper.addCell(sheet8, 5, 7 + i, spotReport
						.getPilespot().getPass3());
				sheet8 = helper.addCell(sheet8, 6, 7 + i, spotReport
						.getPilespot().getPass4());

				sheet8 = helper.addCell(sheet8, 7, 7 + i, spotReport
						.getPilespot().getPass5());
				sheet8 = helper.addCell(sheet8, 8, 7 + i, spotReport
						.getPilespot().getPass6());
				
				
			}
		}
			}
	}

	public List<SpotReportVo> unquitList(List<SpotReport>listAll,String type ,String title,TreeSet<Date>datelist) {
		//设置三个类型为set的String，是为了得到数据中出现的镇区、公路等级、行政级别
		Set<String> townlist = new HashSet<String>();
		Set<String> roadlist = new HashSet<String>();
		Set<String> levellist = new HashSet<String>();
		Set<String> palnlist = new HashSet<String>();
		
		//设置condition 是为了获取字符串排列的字符串
		List<String>  condition = new ArrayList<String>();
		List<String>  condition1 = new ArrayList<String>();
		List<String>  condition2 = new ArrayList<String>();
		
		for(int i = 0 ;i < listAll.size();i++){
			String local = listAll.get(i).getLocale();
			String road = listAll.get(i).getProjectInfo().getTechGrade();
			String level = listAll.get(i).getProjectInfo().getSocialLevel();
			String plan = listAll.get(i).getProjectInfo().getPlanType();
			
			//将数据中的镇区、公路等级、行政级别存到以上创建的set类型中
			townlist.add(local);
			roadlist.add(road);
			levellist.add(level);
			palnlist.add(plan);
		}
		
		for(String plan : palnlist){
			String pl = LabelHelper.getInstance().buildCodeName(3003,plan);
			condition1.add(pl);
		}
		
		
		List<SpotReportVo> list = new ArrayList<SpotReportVo>();
		
		//判断type类型即页面中的统计类型
		if(type != null && type.equals("town")){
			for(String levelone : levellist){
				String l = LabelHelper.getInstance().buildCodeName(3108,levelone);
				condition.add(l);
			}
			for(String roadone : roadlist){
				String r = LabelHelper.getInstance().buildCodeName(3006,roadone);
				condition2.add(r);
			}
			String conditionAll = condition.toString() + condition2.toString() + condition1.toString() + title;
			for(String town : townlist){
					List<SpotReport> list2 = new ArrayList<SpotReport>();
					for(int i = 0;i<listAll.size();i++){
						if(town.equals(listAll.get(i).getLocale())){
							list2.add(listAll.get(i));
						}
					}
					for(int j = 0; j<list2.size();j++){
						datelist.add(list2.get(j).getReportdate());
					}
					list.add(totle(list2,type,town,conditionAll,datelist));
				}
		}
		
		if(type != null && type.equals("road")){
			for(String town : townlist){
				condition.add(town);
			}
			for(String levelone : levellist){
				String l = LabelHelper.getInstance().buildCodeName(3108,levelone);
				condition2.add(l);
			}
			String conditionAll = condition.toString() + condition2.toString() + condition1.toString() + title;
			for(String roadone : roadlist){
				List<SpotReport> list2 = new ArrayList<SpotReport>();
				for(int i = 0;i<listAll.size();i++){
					if(listAll.get(i).getProjectInfo().getTechGrade().equals(roadone)){
						list2.add(listAll.get(i));
					}
				}
				for(int j = 0; j<list2.size();j++){
					datelist.add(list2.get(j).getReportdate());
				}
				String r = LabelHelper.getInstance().buildCodeName(3006,roadone);
				list.add(totle(list2,type,r,conditionAll,datelist));
			}	
		}
		
		if(type != null && type.equals("level")){
			for(String town : townlist){
				condition.add(town);
			}
			for(String roadone : roadlist){
				String r = LabelHelper.getInstance().buildCodeName(3006,roadone);
				condition2.add(r);
			}
			String conditionAll = condition.toString() + condition2.toString() + condition1.toString() + title;
			for(String levelone : levellist){
				List<SpotReport> list2 = new ArrayList<SpotReport>();
				for(int i = 0;i<listAll.size();i++){
					if(listAll.get(i).getProjectInfo().getSocialLevel().equals(levelone)){
						list2.add(listAll.get(i));
					}
				}
				for(int j = 0; j<list2.size();j++){
					datelist.add(list2.get(j).getReportdate());
				}
				String l = LabelHelper.getInstance().buildCodeName(3108,levelone);
				list.add(totle(list2,type,l,conditionAll,datelist));
			}
		}
		Struts2Utils.getRequest().setAttribute("condition",condition);
		Struts2Utils.getRequest().setAttribute("condition1",condition1);
		Struts2Utils.getRequest().setAttribute("condition2",condition2);
		return list;
	}

	public Map<String, SpotReport> hebing(String startTime, String endTime) {
		
		Map<String,SpotReport> pp = new HashMap<String, SpotReport>();
		
		SpotReport spotReportG0 = this.oo("G", "0",startTime,endTime);
		SpotReport spotReportG1 = this.oo("G", "1",startTime,endTime);
		SpotReport spotReportG2 = this.oo("G", "2",startTime,endTime);
		SpotReport spotReportG3 = this.oT("G", "0,1,2",startTime,endTime);
		
		SpotReport spotReportS0 = this.oo("S", "0",startTime,endTime);
		SpotReport spotReportS1 = this.oo("S", "1",startTime,endTime);
		SpotReport spotReportS2 = this.oo("S", "2",startTime,endTime);
		SpotReport spotReportS3 = this.oT("S", "0,1,2",startTime,endTime);
		
		SpotReport spotReportT0 = this.oW("'G','S'", "0",startTime,endTime);
		SpotReport spotReportT1 = this.oW("'G','S'", "1",startTime,endTime);
		SpotReport spotReportT2 = this.oW("'G','S'", "2",startTime,endTime);
		SpotReport spotReportT3 = this.oF("'G','S'", "0,1,2",startTime,endTime);
		
		pp.put("G0", spotReportG0);
		pp.put("G1", spotReportG1);
		pp.put("G2", spotReportG2);
		pp.put("G3", spotReportG3);
		
		pp.put("S0", spotReportS0);
		pp.put("S1", spotReportS1);
		pp.put("S2", spotReportS2);
		pp.put("S3", spotReportS3);
		
		pp.put("GS0", spotReportT0);
		pp.put("GS1", spotReportT1);
		pp.put("GS2", spotReportT2);
		pp.put("GS3", spotReportT3);
		
		return pp;
	}

	public SpotReport oo(String socialLevel, String techGrade,String startTime, String endTime) {
		SpotReport spotReportVo = new SpotReport();
//		List<SurfaceSpot> surfaceSpot = surfacespotDao.selectFen(socialLevel, techGrade, "", "");
		List<StructureSpot> list1 = structurespotDao.selectFen(socialLevel, techGrade, startTime, endTime);
		List<SurfaceSpot> list2 = surfacespotDao.selectFen(socialLevel, techGrade, startTime, endTime);
		List<Bridgespot> list3 = bridgespotDao.selectFen(socialLevel, techGrade, startTime, endTime);
		List<TunnelSpot> list4 = tunnelspotDao.selectFen(socialLevel, techGrade, startTime, endTime);
		List<Safetyspot> list5 = safetyspotDao.selectFen(socialLevel, techGrade, startTime, endTime);
		List<Materialspot> list6 = materialspotDao.selectFen(socialLevel, techGrade, startTime, endTime);
//		List<PileSpot> list7 = pilespotDao.selectFen(socialLevel, techGrade, "", "");
		if (list1.size() > 0) {
			spotReportVo.setStructurespot(list1.get(0));
		}
		if (list2.size() > 0) {
			spotReportVo.setSurfacespot(list2.get(0));
		}
		if (list3.size() > 0) {
			spotReportVo.setBridgespot(list3.get(0));
		}
		if (list4.size() > 0) {
			spotReportVo.setTunnelspot(list4.get(0));
		}
		if (list5.size() > 0) {
			spotReportVo.setSafetyspot(list5.get(0));
		}

		if (list6.size() > 0) {
			spotReportVo.setMaterialspot(list6.get(0));
		}
		
		return spotReportVo;
	}
	
	public SpotReport oT(String socialLevel, String techGrade,String startTime, String endTime) {
		SpotReport spotReportVo = new SpotReport();
		List<StructureSpot> list1 = structurespotDao.selectFenT(socialLevel, techGrade, startTime, endTime);
		List<SurfaceSpot> list2 = surfacespotDao.selectFenT(socialLevel, techGrade, startTime, endTime);
		List<Bridgespot> list3 = bridgespotDao.selectFenT(socialLevel, techGrade, startTime, endTime);
		List<TunnelSpot> list4 = tunnelspotDao.selectFenT(socialLevel, techGrade, startTime, endTime);
		List<Safetyspot> list5 = safetyspotDao.selectFenT(socialLevel, techGrade, startTime, endTime);
		List<Materialspot> list6 = materialspotDao.selectFenT(socialLevel, techGrade, startTime, endTime);
		if (list1.size() > 0) {
			spotReportVo.setStructurespot(list1.get(0));
		}
		if (list2.size() > 0) {
			spotReportVo.setSurfacespot(list2.get(0));
		}
		if (list3.size() > 0) {
			spotReportVo.setBridgespot(list3.get(0));
		}
		if (list4.size() > 0) {
			spotReportVo.setTunnelspot(list4.get(0));
		}
		if (list5.size() > 0) {
			spotReportVo.setSafetyspot(list5.get(0));
		}

		if (list6.size() > 0) {
			spotReportVo.setMaterialspot(list6.get(0));
		}
		
		return spotReportVo;
	}
	
	public SpotReport oF(String socialLevel, String techGrade,String startTime, String endTime) {
		SpotReport spotReportVo = new SpotReport();
		List<StructureSpot> list1 = structurespotDao.selectFenF(socialLevel, techGrade, startTime, endTime);
		List<SurfaceSpot> list2 = surfacespotDao.selectFenF(socialLevel, techGrade, startTime, endTime);
		List<Bridgespot> list3 = bridgespotDao.selectFenF(socialLevel, techGrade, startTime, endTime);
		List<TunnelSpot> list4 = tunnelspotDao.selectFenF(socialLevel, techGrade, startTime, endTime);
		List<Safetyspot> list5 = safetyspotDao.selectFenF(socialLevel, techGrade, startTime, endTime);
		List<Materialspot> list6 = materialspotDao.selectFenF(socialLevel, techGrade, startTime, endTime);
		if (list1.size() > 0) {
			spotReportVo.setStructurespot(list1.get(0));
		}
		if (list2.size() > 0) {
			spotReportVo.setSurfacespot(list2.get(0));
		}
		if (list3.size() > 0) {
			spotReportVo.setBridgespot(list3.get(0));
		}
		if (list4.size() > 0) {
			spotReportVo.setTunnelspot(list4.get(0));
		}
		if (list5.size() > 0) {
			spotReportVo.setSafetyspot(list5.get(0));
		}

		if (list6.size() > 0) {
			spotReportVo.setMaterialspot(list6.get(0));
		}
		
		return spotReportVo;
	}
	
	public SpotReport oW(String socialLevel, String techGrade,String startTime, String endTime) {

		SpotReport spotReportVo = new SpotReport();
		List<StructureSpot> list1 = structurespotDao.selectFenW(socialLevel, techGrade,startTime,endTime);
		List<SurfaceSpot> list2 = surfacespotDao.selectFenW(socialLevel, techGrade, startTime,endTime);
		List<Bridgespot> list3 = bridgespotDao.selectFenW(socialLevel, techGrade, startTime,endTime);
		List<TunnelSpot> list4 = tunnelspotDao.selectFenW(socialLevel, techGrade, startTime,endTime);
		List<Safetyspot> list5 = safetyspotDao.selectFenW(socialLevel, techGrade, startTime,endTime);
		List<Materialspot> list6 = materialspotDao.selectFenW(socialLevel, techGrade, startTime,endTime);
		if (list1.size() > 0) {
			spotReportVo.setStructurespot(list1.get(0));
		}
		if (list2.size() > 0) {
			spotReportVo.setSurfacespot(list2.get(0));
		}
		if (list3.size() > 0) {
			spotReportVo.setBridgespot(list3.get(0));
		}
		if (list4.size() > 0) {
			spotReportVo.setTunnelspot(list4.get(0));
		}
		if (list5.size() > 0) {
			spotReportVo.setSafetyspot(list5.get(0));
		}

		if (list6.size() > 0) {
			spotReportVo.setMaterialspot(list6.get(0));
		}
		
		return spotReportVo;
	}

	
	public WritableWorkbook excelZongji(Map<String, SpotReport> pp,
			ServletOutputStream responOut, String examplePath) throws Exception {
		ExcelHelper helper = ExcelHelper.getInstance();
		WritableWorkbook wwb = helper.createWritableWorkbook(responOut,examplePath);
		SheetZongjiExcel(helper, wwb, pp);
		return wwb;
	}

	public void SheetZongjiExcel(ExcelHelper helper, WritableWorkbook wwb,
			Map<String, SpotReport> pp) throws Exception {

		SpotReport spotReportG0 = pp.get("G0");
		SpotReport spotReportG1 = pp.get("G1");
		SpotReport spotReportG2 = pp.get("G2");
		SpotReport spotReportG3 = pp.get("G3");
		
		SpotReport spotReportS0 = pp.get("S0");
		SpotReport spotReportS1 = pp.get("S1");
		SpotReport spotReportS2 = pp.get("S2");
		SpotReport spotReportS3 = pp.get("S3");
		
		SpotReport spotReportT0 = pp.get("GS0");
		SpotReport spotReportT1 = pp.get("GS1");
		SpotReport spotReportT2 = pp.get("GS2");
		SpotReport spotReportT3 = pp.get("GS3");
		
		WritableSheet[] sheets = wwb.getSheets();
		WritableSheet sheet2 = sheets[2];
		if(spotReportG0.getStructurespot() != null){
			sheet2 = helper.addCell(sheet2, 4, 12, spotReportG0.getStructurespot().getCountF200());
			sheet2 = helper.addCell(sheet2, 5, 12, spotReportG0.getStructurespot().getPassrateF200());
		}
		
		if(spotReportG1.getStructurespot() != null){
			sheet2 = helper.addCell(sheet2, 4, 13, spotReportG1.getStructurespot().getCountF200());
			sheet2 = helper.addCell(sheet2, 5, 13, spotReportG1.getStructurespot().getPassrateF200());
		}
		
		if(spotReportG2.getStructurespot() != null){
			sheet2 = helper.addCell(sheet2, 4, 14, spotReportG2.getStructurespot().getCountF200());
			sheet2 = helper.addCell(sheet2, 5, 14, spotReportG2.getStructurespot().getPassrateF200());
		}
		
		if(spotReportG3.getStructurespot() != null){	
			sheet2 = helper.addCell(sheet2, 4, 15, spotReportG3.getStructurespot().getCountF200());
			sheet2 = helper.addCell(sheet2, 5, 15, spotReportG3.getStructurespot().getPassrateF200());
		}
		
			if(spotReportS0.getStructurespot() != null){			
			sheet2 = helper.addCell(sheet2, 4, 17, spotReportS0.getStructurespot().getCountF200());
			sheet2 = helper.addCell(sheet2, 5, 17, spotReportS0.getStructurespot().getPassrateF200());
			}
				
			if(spotReportS1.getStructurespot() != null){			
			sheet2 = helper.addCell(sheet2, 4, 18, spotReportS1.getStructurespot().getCountF200());
			sheet2 = helper.addCell(sheet2, 5, 18, spotReportS1.getStructurespot().getPassrateF200());
			}
				
			if(spotReportS2.getStructurespot() != null){			
			sheet2 = helper.addCell(sheet2, 4, 19, spotReportS2.getStructurespot().getCountF200());
			sheet2 = helper.addCell(sheet2, 5, 19, spotReportS2.getStructurespot().getPassrateF200());
			}
				
			if(spotReportS3.getStructurespot() != null){			
			sheet2 = helper.addCell(sheet2, 4, 20, spotReportS3.getStructurespot().getCountF200());
			sheet2 = helper.addCell(sheet2, 5, 20, spotReportS3.getStructurespot().getPassrateF200());
			}
				
			if(spotReportT0.getStructurespot() != null){	
			sheet2 = helper.addCell(sheet2, 4, 22, spotReportT0.getStructurespot().getCountF200());
			sheet2 = helper.addCell(sheet2, 5, 22, spotReportT0.getStructurespot().getPassrateF200());
			}
				
			if(spotReportT1.getStructurespot() != null){	
			sheet2 = helper.addCell(sheet2, 4, 23, spotReportT1.getStructurespot().getCountF200());
			sheet2 = helper.addCell(sheet2, 5, 23, spotReportT1.getStructurespot().getPassrateF200());
			}
			
			if(spotReportT2.getStructurespot() != null){	
			sheet2 = helper.addCell(sheet2, 4, 24, spotReportT2.getStructurespot().getCountF200());
			sheet2 = helper.addCell(sheet2, 5, 24, spotReportT2.getStructurespot().getPassrateF200());
			}
			
			if(spotReportT3.getStructurespot() != null){	
			sheet2 = helper.addCell(sheet2, 4, 25, spotReportT3.getStructurespot().getCountF200());
			sheet2 = helper.addCell(sheet2, 5, 25, spotReportT3.getStructurespot().getPassrateF200());
			}
			
			/***************/
			if(spotReportG0.getSurfacespot() != null){
				sheet2 = helper.addCell(sheet2, 6, 12, spotReportG0.getSurfacespot().getCountF300());
				sheet2 = helper.addCell(sheet2, 7, 12, spotReportG0.getSurfacespot().getPassrateF300());
				}
				
				if(spotReportG1.getSurfacespot() != null){
				sheet2 = helper.addCell(sheet2, 6, 13, spotReportG1.getSurfacespot().getCountF300());
				sheet2 = helper.addCell(sheet2, 7, 13, spotReportG1.getSurfacespot().getPassrateF300());
				}
				
				if(spotReportG2.getSurfacespot() != null){
				sheet2 = helper.addCell(sheet2, 6, 14, spotReportG2.getSurfacespot().getCountF300());
				sheet2 = helper.addCell(sheet2, 7, 14, spotReportG2.getSurfacespot().getPassrateF300());
				}
				
				if(spotReportG3.getSurfacespot() != null){
				sheet2 = helper.addCell(sheet2, 6, 15, spotReportG3.getSurfacespot().getCountF300());
				sheet2 = helper.addCell(sheet2, 7, 15, spotReportG3.getSurfacespot().getPassrateF300());
				}
				
				if(spotReportS0.getSurfacespot() != null){
				sheet2 = helper.addCell(sheet2, 6, 17, spotReportS0.getSurfacespot().getCountF300());
				sheet2 = helper.addCell(sheet2, 7, 17, spotReportS0.getSurfacespot().getPassrateF300());
				}
				
				if(spotReportS1.getSurfacespot() != null){
				sheet2 = helper.addCell(sheet2, 6, 18, spotReportS1.getSurfacespot().getCountF300());
				sheet2 = helper.addCell(sheet2, 7, 18, spotReportS1.getSurfacespot().getPassrateF300());
				}
				
				if(spotReportS2.getSurfacespot() != null){
				sheet2 = helper.addCell(sheet2, 6, 19, spotReportS2.getSurfacespot().getCountF300());
				sheet2 = helper.addCell(sheet2, 7, 19, spotReportS2.getSurfacespot().getPassrateF300());
				}
					
				if(spotReportS3.getSurfacespot() != null){
				sheet2 = helper.addCell(sheet2, 6, 20, spotReportS3.getSurfacespot().getCountF300());
				sheet2 = helper.addCell(sheet2, 7, 20, spotReportS3.getSurfacespot().getPassrateF300());
				}
					
				if(spotReportT0.getSurfacespot() != null){
				sheet2 = helper.addCell(sheet2, 6, 22, spotReportT0.getSurfacespot().getCountF300());
				sheet2 = helper.addCell(sheet2, 7, 22, spotReportT0.getSurfacespot().getPassrateF300());
				}
					
				if(spotReportT1.getSurfacespot() != null){
				sheet2 = helper.addCell(sheet2, 6, 23, spotReportT1.getSurfacespot().getCountF300());
				sheet2 = helper.addCell(sheet2, 7, 23, spotReportT1.getSurfacespot().getPassrateF300());
				}
				
				if(spotReportT2.getSurfacespot() != null){
				sheet2 = helper.addCell(sheet2, 6, 24, spotReportT2.getSurfacespot().getCountF300());
				sheet2 = helper.addCell(sheet2, 7, 24, spotReportT2.getSurfacespot().getPassrateF300());
				}
				
				if(spotReportT3.getSurfacespot() != null){
				sheet2 = helper.addCell(sheet2, 6, 25, spotReportT3.getSurfacespot().getCountF300());
				sheet2 = helper.addCell(sheet2, 7, 25, spotReportT3.getSurfacespot().getPassrateF300());
				}
			
			/******************/
				if(spotReportG0.getBridgespot() != null){
					sheet2 = helper.addCell(sheet2, 8, 12, spotReportG0.getBridgespot().getCountF400());
					sheet2 = helper.addCell(sheet2, 9, 12, spotReportG0.getBridgespot().getPassrateF400());
					}
					
					if(spotReportG1.getBridgespot() != null){
					sheet2 = helper.addCell(sheet2, 8, 13, spotReportG1.getBridgespot().getCountF400());
					sheet2 = helper.addCell(sheet2, 9, 13, spotReportG1.getBridgespot().getPassrateF400());
					}
					
					if(spotReportG2.getBridgespot() != null){
					sheet2 = helper.addCell(sheet2, 8, 14, spotReportG2.getBridgespot().getCountF400());
					sheet2 = helper.addCell(sheet2, 9, 14, spotReportG2.getBridgespot().getPassrateF400());
					}
					
					if(spotReportG3.getBridgespot() != null){
					sheet2 = helper.addCell(sheet2, 8, 15, spotReportG3.getBridgespot().getCountF400());
					sheet2 = helper.addCell(sheet2, 9, 15, spotReportG3.getBridgespot().getPassrateF400());
					}
					
					if(spotReportS0.getBridgespot() != null){
					sheet2 = helper.addCell(sheet2, 8, 17, spotReportS0.getBridgespot().getCountF400());
					sheet2 = helper.addCell(sheet2, 9, 17, spotReportS0.getBridgespot().getPassrateF400());
					}
					
					if(spotReportS1.getBridgespot() != null){
					sheet2 = helper.addCell(sheet2, 8, 18, spotReportS1.getBridgespot().getCountF400());
					sheet2 = helper.addCell(sheet2, 9, 18, spotReportS1.getBridgespot().getPassrateF400());
					}
					
					if(spotReportS2.getBridgespot() != null){
					sheet2 = helper.addCell(sheet2, 8, 19, spotReportS2.getBridgespot().getCountF400());
					sheet2 = helper.addCell(sheet2, 9, 19, spotReportS2.getBridgespot().getPassrateF400());
					}
					
					if(spotReportS3.getBridgespot() != null){
					sheet2 = helper.addCell(sheet2, 8, 20, spotReportS3.getBridgespot().getCountF400());
					sheet2 = helper.addCell(sheet2, 9, 20, spotReportS3.getBridgespot().getPassrateF400());
					}
					
					if(spotReportT0.getBridgespot() != null){
					sheet2 = helper.addCell(sheet2, 8, 22, spotReportT0.getBridgespot().getCountF400());
					sheet2 = helper.addCell(sheet2, 9, 22, spotReportT0.getBridgespot().getPassrateF400());
					}
					
					if(spotReportT1.getBridgespot() != null){
					sheet2 = helper.addCell(sheet2, 8, 23, spotReportT1.getBridgespot().getCountF400());
					sheet2 = helper.addCell(sheet2, 9, 23, spotReportT1.getBridgespot().getPassrateF400());
					}
					
					if(spotReportT2.getBridgespot() != null){
					sheet2 = helper.addCell(sheet2, 8, 24, spotReportT2.getBridgespot().getCountF400());
					sheet2 = helper.addCell(sheet2, 9, 24, spotReportT2.getBridgespot().getPassrateF400());
					}
					
					if(spotReportT3.getBridgespot() != null){
					sheet2 = helper.addCell(sheet2, 8, 25, spotReportT3.getBridgespot().getCountF400());
					sheet2 = helper.addCell(sheet2, 9, 25, spotReportT3.getBridgespot().getPassrateF400());
					}
					
			/**********************/
					if(spotReportG0.getTunnelspot() != null){
						sheet2 = helper.addCell(sheet2, 10, 12, spotReportG0.getTunnelspot().getCountF500());
						sheet2 = helper.addCell(sheet2, 11, 12, spotReportG0.getTunnelspot().getPassrateF500());
						}
						
						if(spotReportG1.getTunnelspot() != null){
						sheet2 = helper.addCell(sheet2, 10, 13, spotReportG1.getTunnelspot().getCountF500());
						sheet2 = helper.addCell(sheet2, 11, 13, spotReportG1.getTunnelspot().getPassrateF500());
						}
						
						if(spotReportG2.getTunnelspot() != null){
						sheet2 = helper.addCell(sheet2, 10, 14, spotReportG2.getTunnelspot().getCountF500());
						sheet2 = helper.addCell(sheet2, 11, 14, spotReportG2.getTunnelspot().getPassrateF500());
						}
						
						if(spotReportG3.getTunnelspot() != null){
						sheet2 = helper.addCell(sheet2, 10, 15, spotReportG3.getTunnelspot().getCountF500());
						sheet2 = helper.addCell(sheet2, 11, 15, spotReportG3.getTunnelspot().getPassrateF500());
						}
						
						
						if(spotReportS0.getTunnelspot() != null){
						sheet2 = helper.addCell(sheet2, 10, 17, spotReportS0.getTunnelspot().getCountF500());
						sheet2 = helper.addCell(sheet2, 11, 17, spotReportS0.getTunnelspot().getPassrateF500());
						}
						
						if(spotReportS1.getTunnelspot() != null){
						sheet2 = helper.addCell(sheet2, 10, 18, spotReportS1.getTunnelspot().getCountF500());
						sheet2 = helper.addCell(sheet2, 11, 18, spotReportS1.getTunnelspot().getPassrateF500());
						}
						
						if(spotReportS2.getTunnelspot() != null){
						sheet2 = helper.addCell(sheet2, 10, 19, spotReportS2.getTunnelspot().getCountF500());
						sheet2 = helper.addCell(sheet2, 11, 19, spotReportS2.getTunnelspot().getPassrateF500());
						}
						
						if(spotReportS3.getTunnelspot() != null){
						sheet2 = helper.addCell(sheet2, 10, 20, spotReportS3.getTunnelspot().getCountF500());
						sheet2 = helper.addCell(sheet2, 11, 20, spotReportS3.getTunnelspot().getPassrateF500());
						}
						
						if(spotReportT0.getTunnelspot() != null){
						sheet2 = helper.addCell(sheet2, 10, 22, spotReportT0.getTunnelspot().getCountF500());
						sheet2 = helper.addCell(sheet2, 11, 22, spotReportT0.getTunnelspot().getPassrateF500());
						}
						
						if(spotReportT1.getTunnelspot() != null){
						sheet2 = helper.addCell(sheet2, 10, 23, spotReportT1.getTunnelspot().getCountF500());
						sheet2 = helper.addCell(sheet2, 11, 23, spotReportT1.getTunnelspot().getPassrateF500());
						}
						
						if(spotReportT2.getTunnelspot() != null){
						sheet2 = helper.addCell(sheet2, 10, 24, spotReportT2.getTunnelspot().getCountF500());
						sheet2 = helper.addCell(sheet2, 11, 24, spotReportT2.getTunnelspot().getPassrateF500());
						}
						
						if(spotReportT3.getTunnelspot() != null){
						sheet2 = helper.addCell(sheet2, 10, 25, spotReportT3.getTunnelspot().getCountF500());
						sheet2 = helper.addCell(sheet2, 11, 25, spotReportT3.getTunnelspot().getPassrateF500());
						}
			
			/******************/
						if(spotReportG0.getSafetyspot() != null){
							sheet2 = helper.addCell(sheet2, 12, 12, spotReportG0.getSafetyspot().getCountF600());
							sheet2 = helper.addCell(sheet2, 13, 12, spotReportG0.getSafetyspot().getPassrateF600());
							}
							
							if(spotReportG1.getSafetyspot() != null){
							sheet2 = helper.addCell(sheet2, 12, 13, spotReportG1.getSafetyspot().getCountF600());
							sheet2 = helper.addCell(sheet2, 13, 13, spotReportG1.getSafetyspot().getPassrateF600());
							}
							
							if(spotReportG2.getSafetyspot() != null){
							sheet2 = helper.addCell(sheet2, 12, 14, spotReportG2.getSafetyspot().getCountF600());
							sheet2 = helper.addCell(sheet2, 13, 14, spotReportG2.getSafetyspot().getPassrateF600());
							}
							
							if(spotReportG3.getSafetyspot() != null){
							sheet2 = helper.addCell(sheet2, 12, 15, spotReportG3.getSafetyspot().getCountF600());
							sheet2 = helper.addCell(sheet2, 13, 15, spotReportG3.getSafetyspot().getPassrateF600());
							}
							
							
							if(spotReportS0.getSafetyspot() != null){
							sheet2 = helper.addCell(sheet2, 12, 17, spotReportS0.getSafetyspot().getCountF600());
							sheet2 = helper.addCell(sheet2, 13, 17, spotReportS0.getSafetyspot().getPassrateF600());
							}
							
							if(spotReportS1.getSafetyspot() != null){
							sheet2 = helper.addCell(sheet2, 12, 18, spotReportS1.getSafetyspot().getCountF600());
							sheet2 = helper.addCell(sheet2, 13, 18, spotReportS1.getSafetyspot().getPassrateF600());
							}
							
							if(spotReportS2.getSafetyspot() != null){
							sheet2 = helper.addCell(sheet2, 12, 19, spotReportS2.getSafetyspot().getCountF600());
							sheet2 = helper.addCell(sheet2, 13, 19, spotReportS2.getSafetyspot().getPassrateF600());
							}
							
							if(spotReportS3.getSafetyspot() != null){
							sheet2 = helper.addCell(sheet2, 12, 20, spotReportS3.getSafetyspot().getCountF600());
							sheet2 = helper.addCell(sheet2, 13, 20, spotReportS3.getSafetyspot().getPassrateF600());
							}
							
							if(spotReportT0.getSafetyspot() != null){
							sheet2 = helper.addCell(sheet2, 12, 22, spotReportT0.getSafetyspot().getCountF600());
							sheet2 = helper.addCell(sheet2, 13, 22, spotReportT0.getSafetyspot().getPassrateF600());
							}
							
							if(spotReportT1.getSafetyspot() != null){
							sheet2 = helper.addCell(sheet2, 12, 23, spotReportT1.getSafetyspot().getCountF600());
							sheet2 = helper.addCell(sheet2, 13, 23, spotReportT1.getSafetyspot().getPassrateF600());
							}
							
							if(spotReportT2.getSafetyspot() != null){
							sheet2 = helper.addCell(sheet2, 12, 24, spotReportT2.getSafetyspot().getCountF600());
							sheet2 = helper.addCell(sheet2, 13, 24, spotReportT2.getSafetyspot().getPassrateF600());
							}
							
							if(spotReportT3.getSafetyspot() != null){
							sheet2 = helper.addCell(sheet2, 12, 25, spotReportT3.getSafetyspot().getCountF600());
							sheet2 = helper.addCell(sheet2, 13, 25, spotReportT3.getSafetyspot().getPassrateF600());
							}
			/****************/
							if(spotReportG0.getMaterialspot() != null){
								sheet2 = helper.addCell(sheet2, 14, 12, spotReportG0.getMaterialspot().getCountF900());
								sheet2 = helper.addCell(sheet2, 15, 14, spotReportG0.getMaterialspot().getPassrateF900());
								}
								
								if(spotReportG1.getMaterialspot() != null){
								sheet2 = helper.addCell(sheet2, 14, 15, spotReportG1.getMaterialspot().getCountF900());
								sheet2 = helper.addCell(sheet2, 15, 13, spotReportG1.getMaterialspot().getPassrateF900());
					}
								
								if(spotReportG2.getMaterialspot() != null){
								sheet2 = helper.addCell(sheet2, 14, 14, spotReportG2.getMaterialspot().getCountF900());
								sheet2 = helper.addCell(sheet2, 15, 14, spotReportG2.getMaterialspot().getPassrateF900());
					}
								
								if(spotReportG3.getMaterialspot() != null){
								sheet2 = helper.addCell(sheet2, 14, 15, spotReportG3.getMaterialspot().getCountF900());
								sheet2 = helper.addCell(sheet2, 15, 15, spotReportG3.getMaterialspot().getPassrateF900());
					}
								
								if(spotReportS0.getMaterialspot() != null){	
								sheet2 = helper.addCell(sheet2, 14, 17, spotReportS0.getMaterialspot().getCountF900());
								sheet2 = helper.addCell(sheet2, 15, 17, spotReportS0.getMaterialspot().getPassrateF900());
					}
								
								if(spotReportS1.getMaterialspot() != null){	
								sheet2 = helper.addCell(sheet2, 14, 18, spotReportS1.getMaterialspot().getCountF900());
								sheet2 = helper.addCell(sheet2, 15, 18, spotReportS1.getMaterialspot().getPassrateF900());
					}
								
								if(spotReportS2.getMaterialspot() != null){	
								sheet2 = helper.addCell(sheet2, 14, 19, spotReportS2.getMaterialspot().getCountF900());
								sheet2 = helper.addCell(sheet2, 15, 19, spotReportS2.getMaterialspot().getPassrateF900());
					}
								
								if(spotReportS3.getMaterialspot() != null){	
								sheet2 = helper.addCell(sheet2, 14, 20, spotReportS3.getMaterialspot().getCountF900());
								sheet2 = helper.addCell(sheet2, 15, 20, spotReportS3.getMaterialspot().getPassrateF900());
					}
								
								if(spotReportT0.getMaterialspot() != null){	
								
								sheet2 = helper.addCell(sheet2, 14, 22, spotReportT0.getMaterialspot().getCountF900());
								sheet2 = helper.addCell(sheet2, 15, 22, spotReportT0.getMaterialspot().getPassrateF900());
					}
								
								if(spotReportT1.getMaterialspot() != null){	
								sheet2 = helper.addCell(sheet2, 14, 23, spotReportT1.getMaterialspot().getCountF900());
								sheet2 = helper.addCell(sheet2, 15, 23, spotReportT1.getMaterialspot().getPassrateF900());
					}
								
								if(spotReportT2.getMaterialspot() != null){		
								sheet2 = helper.addCell(sheet2, 14, 24, spotReportT2.getMaterialspot().getCountF900());
								sheet2 = helper.addCell(sheet2, 15, 24, spotReportT2.getMaterialspot().getPassrateF900());
					}
								
								if(spotReportT3.getMaterialspot() != null){			
								sheet2 = helper.addCell(sheet2, 14, 25, spotReportT3.getMaterialspot().getCountF900());
								sheet2 = helper.addCell(sheet2, 15, 25, spotReportT3.getMaterialspot().getPassrateF900());
								
					}
		
		WritableSheet sheet3 = sheets[3];
		if(spotReportG0.getStructurespot() != null){
		/*国道高速公路*/
		sheet3 = helper.addCell(sheet3, 2, 12, spotReportG0.getStructurespot().getCountF200());
		sheet3 = helper.addCell(sheet3, 3, 12, spotReportG0.getStructurespot().getPassF200());
		
		sheet3 = helper.addCell(sheet3, 5, 12, spotReportG0.getStructurespot().getCountF201());
		sheet3 = helper.addCell(sheet3, 6, 12, spotReportG0.getStructurespot().getCountF201());
		
		sheet3 = helper.addCell(sheet3, 8, 12, spotReportG0.getStructurespot().getCountF202());
		sheet3 = helper.addCell(sheet3, 9, 12, spotReportG0.getStructurespot().getCountF202());
		
		sheet3 = helper.addCell(sheet3, 11, 12, spotReportG0.getStructurespot().getCountF203());
		sheet3 = helper.addCell(sheet3, 12, 12, spotReportG0.getStructurespot().getCountF203());
		
		sheet3 = helper.addCell(sheet3, 14, 12, spotReportG0.getStructurespot().getCountF204());
		sheet3 = helper.addCell(sheet3, 15, 12, spotReportG0.getStructurespot().getCountF204());
		
		sheet3 = helper.addCell(sheet3, 17, 12, spotReportG0.getStructurespot().getCountF205());
		sheet3 = helper.addCell(sheet3, 18, 12, spotReportG0.getStructurespot().getCountF205());
		
		sheet3 = helper.addCell(sheet3, 20, 12, spotReportG0.getStructurespot().getCountF206());
		sheet3 = helper.addCell(sheet3, 21, 12, spotReportG0.getStructurespot().getCountF206());
		
		sheet3 = helper.addCell(sheet3, 23, 12, spotReportG0.getStructurespot().getCountF207());
		sheet3 = helper.addCell(sheet3, 24, 12, spotReportG0.getStructurespot().getCountF207());
		}
		
		if(spotReportG1.getStructurespot() != null){
		/*国道一级公路*/
		sheet3 = helper.addCell(sheet3, 2, 13, spotReportG1.getStructurespot().getCountF200());
		sheet3 = helper.addCell(sheet3, 3, 13, spotReportG1.getStructurespot().getPassF200());
		
		sheet3 = helper.addCell(sheet3, 5, 13, spotReportG1.getStructurespot().getCountF201());
		sheet3 = helper.addCell(sheet3, 6, 13, spotReportG1.getStructurespot().getCountF201());
		
		sheet3 = helper.addCell(sheet3, 8, 13, spotReportG1.getStructurespot().getCountF202());
		sheet3 = helper.addCell(sheet3, 9, 13, spotReportG1.getStructurespot().getCountF202());
		
		sheet3 = helper.addCell(sheet3, 11, 13, spotReportG1.getStructurespot().getCountF203());
		sheet3 = helper.addCell(sheet3, 12, 13, spotReportG1.getStructurespot().getCountF203());
		
		sheet3 = helper.addCell(sheet3, 14, 13, spotReportG1.getStructurespot().getCountF204());
		sheet3 = helper.addCell(sheet3, 15, 13, spotReportG1.getStructurespot().getCountF204());
		
		sheet3 = helper.addCell(sheet3, 17, 13, spotReportG1.getStructurespot().getCountF205());
		sheet3 = helper.addCell(sheet3, 18, 13, spotReportG1.getStructurespot().getCountF205());
		
		sheet3 = helper.addCell(sheet3, 20, 13, spotReportG1.getStructurespot().getCountF206());
		sheet3 = helper.addCell(sheet3, 21, 13, spotReportG1.getStructurespot().getCountF206());
		
		sheet3 = helper.addCell(sheet3, 23, 13, spotReportG1.getStructurespot().getCountF207());
		sheet3 = helper.addCell(sheet3, 24, 13, spotReportG1.getStructurespot().getCountF207());
		}
		
		if(spotReportG2.getStructurespot() != null){
		/*国道二级公路*/
		sheet3 = helper.addCell(sheet3, 2, 14, spotReportG2.getStructurespot().getCountF200());
		sheet3 = helper.addCell(sheet3, 3, 14, spotReportG2.getStructurespot().getPassF200());
		
		sheet3 = helper.addCell(sheet3, 5, 14, spotReportG2.getStructurespot().getCountF201());
		sheet3 = helper.addCell(sheet3, 6, 14, spotReportG2.getStructurespot().getCountF201());
		
		sheet3 = helper.addCell(sheet3, 8, 14, spotReportG2.getStructurespot().getCountF202());
		sheet3 = helper.addCell(sheet3, 9, 14, spotReportG2.getStructurespot().getCountF202());
		
		sheet3 = helper.addCell(sheet3, 11, 14, spotReportG2.getStructurespot().getCountF203());
		sheet3 = helper.addCell(sheet3, 12, 14, spotReportG2.getStructurespot().getCountF203());
		
		sheet3 = helper.addCell(sheet3, 14, 14, spotReportG2.getStructurespot().getCountF204());
		sheet3 = helper.addCell(sheet3, 15, 14, spotReportG2.getStructurespot().getCountF204());
		
		sheet3 = helper.addCell(sheet3, 17, 14, spotReportG2.getStructurespot().getCountF205());
		sheet3 = helper.addCell(sheet3, 18, 14, spotReportG2.getStructurespot().getCountF205());
		
		sheet3 = helper.addCell(sheet3, 20, 14, spotReportG2.getStructurespot().getCountF206());
		sheet3 = helper.addCell(sheet3, 21, 14, spotReportG2.getStructurespot().getCountF206());
		
		sheet3 = helper.addCell(sheet3, 23, 14, spotReportG2.getStructurespot().getCountF207());
		sheet3 = helper.addCell(sheet3, 24, 14, spotReportG2.getStructurespot().getCountF207());
		}
		
		if(spotReportG3.getStructurespot() != null){
		/*国道三级及以下公路*/
		sheet3 = helper.addCell(sheet3, 2, 15, spotReportG3.getStructurespot().getCountF200());
		sheet3 = helper.addCell(sheet3, 3, 15, spotReportG3.getStructurespot().getPassF200());
		
		sheet3 = helper.addCell(sheet3, 5, 15, spotReportG3.getStructurespot().getCountF201());
		sheet3 = helper.addCell(sheet3, 6, 15, spotReportG3.getStructurespot().getCountF201());
		
		sheet3 = helper.addCell(sheet3, 8, 15, spotReportG3.getStructurespot().getCountF202());
		sheet3 = helper.addCell(sheet3, 9, 15, spotReportG3.getStructurespot().getCountF202());
		
		sheet3 = helper.addCell(sheet3, 11, 15, spotReportG3.getStructurespot().getCountF203());
		sheet3 = helper.addCell(sheet3, 12, 15, spotReportG3.getStructurespot().getCountF203());
		
		sheet3 = helper.addCell(sheet3, 14, 15, spotReportG3.getStructurespot().getCountF204());
		sheet3 = helper.addCell(sheet3, 15, 15, spotReportG3.getStructurespot().getCountF204());
		
		sheet3 = helper.addCell(sheet3, 17, 15, spotReportG3.getStructurespot().getCountF205());
		sheet3 = helper.addCell(sheet3, 18, 15, spotReportG3.getStructurespot().getCountF205());
		
		sheet3 = helper.addCell(sheet3, 20, 15, spotReportG3.getStructurespot().getCountF206());
		sheet3 = helper.addCell(sheet3, 21, 15, spotReportG3.getStructurespot().getCountF206());
		
		sheet3 = helper.addCell(sheet3, 23, 15, spotReportG3.getStructurespot().getCountF207());
		sheet3 = helper.addCell(sheet3, 24, 15, spotReportG3.getStructurespot().getCountF207());
		
		}
		
		
		if(spotReportS0.getStructurespot() != null){
		/*省道高速公路*/
		sheet3 = helper.addCell(sheet3, 2, 17, spotReportS0.getStructurespot().getCountF200());
		sheet3 = helper.addCell(sheet3, 3, 17, spotReportS0.getStructurespot().getPassF200());
		
		sheet3 = helper.addCell(sheet3, 5, 17, spotReportS0.getStructurespot().getCountF201());
		sheet3 = helper.addCell(sheet3, 6, 17, spotReportS0.getStructurespot().getCountF201());
		
		sheet3 = helper.addCell(sheet3, 8, 17, spotReportS0.getStructurespot().getCountF202());
		sheet3 = helper.addCell(sheet3, 9, 17, spotReportS0.getStructurespot().getCountF202());
		
		sheet3 = helper.addCell(sheet3, 11, 17, spotReportS0.getStructurespot().getCountF203());
		sheet3 = helper.addCell(sheet3, 12, 17, spotReportS0.getStructurespot().getCountF203());
		
		sheet3 = helper.addCell(sheet3, 14, 17, spotReportS0.getStructurespot().getCountF204());
		sheet3 = helper.addCell(sheet3, 15, 17, spotReportS0.getStructurespot().getCountF204());
		
		sheet3 = helper.addCell(sheet3, 17, 17, spotReportS0.getStructurespot().getCountF205());
		sheet3 = helper.addCell(sheet3, 18, 17, spotReportS0.getStructurespot().getCountF205());
		
		sheet3 = helper.addCell(sheet3, 20, 17, spotReportS0.getStructurespot().getCountF206());
		sheet3 = helper.addCell(sheet3, 21, 17, spotReportS0.getStructurespot().getCountF206());
		
		sheet3 = helper.addCell(sheet3, 23, 17, spotReportS0.getStructurespot().getCountF207());
		sheet3 = helper.addCell(sheet3, 24, 17, spotReportS0.getStructurespot().getCountF207());
		}
		
		if(spotReportS1.getStructurespot() != null){
		/*省道一级公路*/
		sheet3 = helper.addCell(sheet3, 2, 18, spotReportS1.getStructurespot().getCountF200());
		sheet3 = helper.addCell(sheet3, 3, 18, spotReportS1.getStructurespot().getPassF200());
		
		sheet3 = helper.addCell(sheet3, 5, 18, spotReportS1.getStructurespot().getCountF201());
		sheet3 = helper.addCell(sheet3, 6, 18, spotReportS1.getStructurespot().getCountF201());
		
		sheet3 = helper.addCell(sheet3, 8, 18, spotReportS1.getStructurespot().getCountF202());
		sheet3 = helper.addCell(sheet3, 9, 18, spotReportS1.getStructurespot().getCountF202());
		
		sheet3 = helper.addCell(sheet3, 11, 18, spotReportS1.getStructurespot().getCountF203());
		sheet3 = helper.addCell(sheet3, 12, 18, spotReportS1.getStructurespot().getCountF203());
		
		sheet3 = helper.addCell(sheet3, 14, 18, spotReportS1.getStructurespot().getCountF204());
		sheet3 = helper.addCell(sheet3, 15, 18, spotReportS1.getStructurespot().getCountF204());
		
		sheet3 = helper.addCell(sheet3, 17, 18, spotReportS1.getStructurespot().getCountF205());
		sheet3 = helper.addCell(sheet3, 18, 18, spotReportS1.getStructurespot().getCountF205());
		
		sheet3 = helper.addCell(sheet3, 20, 18, spotReportS1.getStructurespot().getCountF206());
		sheet3 = helper.addCell(sheet3, 21, 18, spotReportS1.getStructurespot().getCountF206());
		
		sheet3 = helper.addCell(sheet3, 23, 18, spotReportS1.getStructurespot().getCountF207());
		sheet3 = helper.addCell(sheet3, 24, 18, spotReportS1.getStructurespot().getCountF207());
		}
		
		if(spotReportS2.getStructurespot() != null){
		/*省道二级公路*/
		sheet3 = helper.addCell(sheet3, 2, 19, spotReportS2.getStructurespot().getCountF200());
		sheet3 = helper.addCell(sheet3, 3, 19, spotReportS2.getStructurespot().getPassF200());
		
		sheet3 = helper.addCell(sheet3, 5, 19, spotReportS2.getStructurespot().getCountF201());
		sheet3 = helper.addCell(sheet3, 6, 19, spotReportS2.getStructurespot().getCountF201());
		
		sheet3 = helper.addCell(sheet3, 8, 19, spotReportS2.getStructurespot().getCountF202());
		sheet3 = helper.addCell(sheet3, 9, 19, spotReportS2.getStructurespot().getCountF202());
		
		sheet3 = helper.addCell(sheet3, 11, 19, spotReportS2.getStructurespot().getCountF203());
		sheet3 = helper.addCell(sheet3, 12, 19, spotReportS2.getStructurespot().getCountF203());
		
		sheet3 = helper.addCell(sheet3, 14, 19, spotReportS2.getStructurespot().getCountF204());
		sheet3 = helper.addCell(sheet3, 15, 19, spotReportS2.getStructurespot().getCountF204());
		
		sheet3 = helper.addCell(sheet3, 17, 19, spotReportS2.getStructurespot().getCountF205());
		sheet3 = helper.addCell(sheet3, 18, 19, spotReportS2.getStructurespot().getCountF205());
		
		sheet3 = helper.addCell(sheet3, 20, 19, spotReportS2.getStructurespot().getCountF206());
		sheet3 = helper.addCell(sheet3, 21, 19, spotReportS2.getStructurespot().getCountF206());
		
		sheet3 = helper.addCell(sheet3, 23, 19, spotReportS2.getStructurespot().getCountF207());
		sheet3 = helper.addCell(sheet3, 24, 19, spotReportS2.getStructurespot().getCountF207());
		}
		
		
		if(spotReportS3.getStructurespot() != null){
		/*省道三级及以下公路*/
		sheet3 = helper.addCell(sheet3, 2, 20, spotReportS3.getStructurespot().getCountF200());
		sheet3 = helper.addCell(sheet3, 3, 20, spotReportS3.getStructurespot().getPassF200());
		
		sheet3 = helper.addCell(sheet3, 5, 20, spotReportS3.getStructurespot().getCountF201());
		sheet3 = helper.addCell(sheet3, 6, 20, spotReportS3.getStructurespot().getCountF201());
		
		sheet3 = helper.addCell(sheet3, 8, 20, spotReportS3.getStructurespot().getCountF202());
		sheet3 = helper.addCell(sheet3, 9, 20, spotReportS3.getStructurespot().getCountF202());
		
		sheet3 = helper.addCell(sheet3, 11, 20, spotReportS3.getStructurespot().getCountF203());
		sheet3 = helper.addCell(sheet3, 12, 20, spotReportS3.getStructurespot().getCountF203());
		
		sheet3 = helper.addCell(sheet3, 14, 20, spotReportS3.getStructurespot().getCountF204());
		sheet3 = helper.addCell(sheet3, 15, 20, spotReportS3.getStructurespot().getCountF204());
		
		sheet3 = helper.addCell(sheet3, 17, 20, spotReportS3.getStructurespot().getCountF205());
		sheet3 = helper.addCell(sheet3, 18, 20, spotReportS3.getStructurespot().getCountF205());
		
		sheet3 = helper.addCell(sheet3, 20, 20, spotReportS3.getStructurespot().getCountF206());
		sheet3 = helper.addCell(sheet3, 21, 20, spotReportS3.getStructurespot().getCountF206());
		
		sheet3 = helper.addCell(sheet3, 23, 20, spotReportS3.getStructurespot().getCountF207());
		sheet3 = helper.addCell(sheet3, 24, 20, spotReportS3.getStructurespot().getCountF207());
		}
		
		if(spotReportT1.getStructurespot() != null){
		/*县道、乡道、村道高速公路*/
		sheet3 = helper.addCell(sheet3, 2, 22, spotReportT0.getStructurespot().getCountF200());
		sheet3 = helper.addCell(sheet3, 3, 22, spotReportT0.getStructurespot().getPassF200());
		
		sheet3 = helper.addCell(sheet3, 5, 22, spotReportT0.getStructurespot().getCountF201());
		sheet3 = helper.addCell(sheet3, 6, 22, spotReportT0.getStructurespot().getCountF201());
		
		sheet3 = helper.addCell(sheet3, 8, 22, spotReportT0.getStructurespot().getCountF202());
		sheet3 = helper.addCell(sheet3, 9, 22, spotReportT0.getStructurespot().getCountF202());
		
		sheet3 = helper.addCell(sheet3, 11, 22, spotReportT0.getStructurespot().getCountF203());
		sheet3 = helper.addCell(sheet3, 12, 22, spotReportT0.getStructurespot().getCountF203());
		
		sheet3 = helper.addCell(sheet3, 14, 22, spotReportT0.getStructurespot().getCountF204());
		sheet3 = helper.addCell(sheet3, 15, 22, spotReportT0.getStructurespot().getCountF204());
		
		sheet3 = helper.addCell(sheet3, 17, 22, spotReportT0.getStructurespot().getCountF205());
		sheet3 = helper.addCell(sheet3, 18, 22, spotReportT0.getStructurespot().getCountF205());
		
		sheet3 = helper.addCell(sheet3, 20, 22, spotReportT0.getStructurespot().getCountF206());
		sheet3 = helper.addCell(sheet3, 21, 22, spotReportT0.getStructurespot().getCountF206());
		
		sheet3 = helper.addCell(sheet3, 23, 22, spotReportT0.getStructurespot().getCountF207());
		sheet3 = helper.addCell(sheet3, 24, 22, spotReportT0.getStructurespot().getCountF207());
		}
		
		if(spotReportG0.getStructurespot() != null){
		/*县道、乡道、村道一级公路*/
		sheet3 = helper.addCell(sheet3, 2, 23, spotReportT1.getStructurespot().getCountF200());
		sheet3 = helper.addCell(sheet3, 3, 23, spotReportT1.getStructurespot().getPassF200());
		
		sheet3 = helper.addCell(sheet3, 5, 23, spotReportT1.getStructurespot().getCountF201());
		sheet3 = helper.addCell(sheet3, 6, 23, spotReportT1.getStructurespot().getCountF201());
		
		sheet3 = helper.addCell(sheet3, 8, 23, spotReportT1.getStructurespot().getCountF202());
		sheet3 = helper.addCell(sheet3, 9, 23, spotReportT1.getStructurespot().getCountF202());
		
		sheet3 = helper.addCell(sheet3, 11, 23, spotReportT1.getStructurespot().getCountF203());
		sheet3 = helper.addCell(sheet3, 12, 23, spotReportT1.getStructurespot().getCountF203());
		
		sheet3 = helper.addCell(sheet3, 14, 23, spotReportT1.getStructurespot().getCountF204());
		sheet3 = helper.addCell(sheet3, 15, 23, spotReportT1.getStructurespot().getCountF204());
		
		sheet3 = helper.addCell(sheet3, 17, 23, spotReportT1.getStructurespot().getCountF205());
		sheet3 = helper.addCell(sheet3, 18, 23, spotReportT1.getStructurespot().getCountF205());
		
		sheet3 = helper.addCell(sheet3, 20, 23, spotReportT1.getStructurespot().getCountF206());
		sheet3 = helper.addCell(sheet3, 21, 23, spotReportT1.getStructurespot().getCountF206());
		
		sheet3 = helper.addCell(sheet3, 23, 23, spotReportT1.getStructurespot().getCountF207());
		sheet3 = helper.addCell(sheet3, 24, 23, spotReportT1.getStructurespot().getCountF207());
		}
		
		if(spotReportT2.getStructurespot() != null){
		/*县道、乡道、村道二级公路   */
		sheet3 = helper.addCell(sheet3, 2, 24, spotReportT2.getStructurespot().getCountF200());
		sheet3 = helper.addCell(sheet3, 3, 24, spotReportT2.getStructurespot().getPassF200());
		
		sheet3 = helper.addCell(sheet3, 5, 24, spotReportT2.getStructurespot().getCountF201());
		sheet3 = helper.addCell(sheet3, 6, 24, spotReportT2.getStructurespot().getCountF201());
		
		sheet3 = helper.addCell(sheet3, 8, 24, spotReportT2.getStructurespot().getCountF202());
		sheet3 = helper.addCell(sheet3, 9, 24, spotReportT2.getStructurespot().getCountF202());
		
		sheet3 = helper.addCell(sheet3, 11, 24, spotReportT2.getStructurespot().getCountF203());
		sheet3 = helper.addCell(sheet3, 12, 24, spotReportT2.getStructurespot().getCountF203());
		
		sheet3 = helper.addCell(sheet3, 14, 24, spotReportT2.getStructurespot().getCountF204());
		sheet3 = helper.addCell(sheet3, 15, 24, spotReportT2.getStructurespot().getCountF204());
		
		sheet3 = helper.addCell(sheet3, 17, 24, spotReportT2.getStructurespot().getCountF205());
		sheet3 = helper.addCell(sheet3, 18, 24, spotReportT2.getStructurespot().getCountF205());
		
		sheet3 = helper.addCell(sheet3, 20, 24, spotReportT2.getStructurespot().getCountF206());
		sheet3 = helper.addCell(sheet3, 21, 24, spotReportT2.getStructurespot().getCountF206());
		
		sheet3 = helper.addCell(sheet3, 23, 24, spotReportT2.getStructurespot().getCountF207());
		sheet3 = helper.addCell(sheet3, 24, 24, spotReportT2.getStructurespot().getCountF207());
		}
		
		if(spotReportT3.getStructurespot() != null){
		/*县道、乡道、村道三级及以下公路*/
		sheet3 = helper.addCell(sheet3, 2, 25, spotReportT3.getStructurespot().getCountF200());
		sheet3 = helper.addCell(sheet3, 3, 25, spotReportT3.getStructurespot().getPassF200());
		
		sheet3 = helper.addCell(sheet3, 5, 25, spotReportT3.getStructurespot().getCountF201());
		sheet3 = helper.addCell(sheet3, 6, 25, spotReportT3.getStructurespot().getCountF201());
		
		sheet3 = helper.addCell(sheet3, 8, 25, spotReportT3.getStructurespot().getCountF202());
		sheet3 = helper.addCell(sheet3, 9, 25, spotReportT3.getStructurespot().getCountF202());
		
		sheet3 = helper.addCell(sheet3, 11, 25, spotReportT3.getStructurespot().getCountF203());
		sheet3 = helper.addCell(sheet3, 12, 25, spotReportT3.getStructurespot().getCountF203());
		
		sheet3 = helper.addCell(sheet3, 14, 25, spotReportT3.getStructurespot().getCountF204());
		sheet3 = helper.addCell(sheet3, 15, 25, spotReportT3.getStructurespot().getCountF204());
		
		sheet3 = helper.addCell(sheet3, 17, 25, spotReportT3.getStructurespot().getCountF205());
		sheet3 = helper.addCell(sheet3, 18, 25, spotReportT3.getStructurespot().getCountF205());
		
		sheet3 = helper.addCell(sheet3, 20, 25, spotReportT3.getStructurespot().getCountF206());
		sheet3 = helper.addCell(sheet3, 21, 25, spotReportT3.getStructurespot().getCountF206());
		
		sheet3 = helper.addCell(sheet3, 23, 25, spotReportT3.getStructurespot().getCountF207());
		sheet3 = helper.addCell(sheet3, 24, 25, spotReportT3.getStructurespot().getCountF207());
		}
		
		WritableSheet sheet4 = sheets[4];
		if(spotReportG0.getSurfacespot() != null){
		/*国道高速公路*/
		sheet4 = helper.addCell(sheet4, 2, 12, spotReportG0.getSurfacespot().getCountF300());
		sheet4 = helper.addCell(sheet4, 3, 12, spotReportG0.getSurfacespot().getPassF300());
		
		sheet4 = helper.addCell(sheet4, 5, 12, spotReportG0.getSurfacespot().getCountF301());
		sheet4 = helper.addCell(sheet4, 6, 12, spotReportG0.getSurfacespot().getCountF301());
		
		sheet4 = helper.addCell(sheet4, 8, 12, spotReportG0.getSurfacespot().getCountF302());
		sheet4 = helper.addCell(sheet4, 9, 12, spotReportG0.getSurfacespot().getCountF302());
		
		sheet4 = helper.addCell(sheet4, 11, 12, spotReportG0.getSurfacespot().getCountF303());
		sheet4 = helper.addCell(sheet4, 12, 12, spotReportG0.getSurfacespot().getCountF303());
		
		sheet4 = helper.addCell(sheet4, 14, 12, spotReportG0.getSurfacespot().getCountF304());
		sheet4 = helper.addCell(sheet4, 15, 12, spotReportG0.getSurfacespot().getCountF304());
		
		sheet4 = helper.addCell(sheet4, 17, 12, spotReportG0.getSurfacespot().getCountF305());
		sheet4 = helper.addCell(sheet4, 18, 12, spotReportG0.getSurfacespot().getCountF305());
		
		sheet4 = helper.addCell(sheet4, 20, 12, spotReportG0.getSurfacespot().getCountF306());
		sheet4 = helper.addCell(sheet4, 21, 12, spotReportG0.getSurfacespot().getCountF306());
		
		sheet4 = helper.addCell(sheet4, 23, 12, spotReportG0.getSurfacespot().getCountF307());
		sheet4 = helper.addCell(sheet4, 24, 12, spotReportG0.getSurfacespot().getCountF307());
		
		sheet4 = helper.addCell(sheet4, 26, 12, spotReportG0.getSurfacespot().getCountF308());
		sheet4 = helper.addCell(sheet4, 27, 12, spotReportG0.getSurfacespot().getCountF308());
		
		sheet4 = helper.addCell(sheet4, 29, 12, spotReportG0.getSurfacespot().getCountF309());
		sheet4 = helper.addCell(sheet4, 30, 12, spotReportG0.getSurfacespot().getCountF309());
		
		sheet4 = helper.addCell(sheet4, 32, 12, spotReportG0.getSurfacespot().getCountF310());
		sheet4 = helper.addCell(sheet4, 33, 12, spotReportG0.getSurfacespot().getCountF310());
		}
		
		if(spotReportG1.getSurfacespot() != null){
		/*国道一级公路*/
		sheet4 = helper.addCell(sheet4, 2, 13, spotReportG1.getSurfacespot().getCountF300());
		sheet4 = helper.addCell(sheet4, 3, 13, spotReportG1.getSurfacespot().getPassF300());
		
		sheet4 = helper.addCell(sheet4, 5, 13, spotReportG1.getSurfacespot().getCountF301());
		sheet4 = helper.addCell(sheet4, 6, 13, spotReportG1.getSurfacespot().getCountF301());
		
		sheet4 = helper.addCell(sheet4, 8, 13, spotReportG1.getSurfacespot().getCountF302());
		sheet4 = helper.addCell(sheet4, 9, 13, spotReportG1.getSurfacespot().getCountF302());
		
		sheet4 = helper.addCell(sheet4, 11, 13, spotReportG1.getSurfacespot().getCountF303());
		sheet4 = helper.addCell(sheet4, 12, 13, spotReportG1.getSurfacespot().getCountF303());
		
		sheet4 = helper.addCell(sheet4, 14, 13, spotReportG1.getSurfacespot().getCountF304());
		sheet4 = helper.addCell(sheet4, 15, 13, spotReportG1.getSurfacespot().getCountF304());
		
		sheet4 = helper.addCell(sheet4, 17, 13, spotReportG1.getSurfacespot().getCountF305());
		sheet4 = helper.addCell(sheet4, 18, 13, spotReportG1.getSurfacespot().getCountF305());
		
		sheet4 = helper.addCell(sheet4, 20, 13, spotReportG1.getSurfacespot().getCountF306());
		sheet4 = helper.addCell(sheet4, 21, 13, spotReportG1.getSurfacespot().getCountF306());
		
		sheet4 = helper.addCell(sheet4, 23, 13, spotReportG1.getSurfacespot().getCountF307());
		sheet4 = helper.addCell(sheet4, 24, 13, spotReportG1.getSurfacespot().getCountF307());
		
		sheet4 = helper.addCell(sheet4, 26, 13, spotReportG1.getSurfacespot().getCountF308());
		sheet4 = helper.addCell(sheet4, 27, 13, spotReportG1.getSurfacespot().getCountF308());
		
		sheet4 = helper.addCell(sheet4, 29, 13, spotReportG1.getSurfacespot().getCountF309());
		sheet4 = helper.addCell(sheet4, 30, 13, spotReportG1.getSurfacespot().getCountF309());
		
		sheet4 = helper.addCell(sheet4, 32, 13, spotReportG1.getSurfacespot().getCountF310());
		sheet4 = helper.addCell(sheet4, 33, 13, spotReportG1.getSurfacespot().getCountF310());
		}
		
		if(spotReportG2.getSurfacespot() != null){
		/*国道二级公路*/
		sheet4 = helper.addCell(sheet4, 2, 14, spotReportG2.getSurfacespot().getCountF300());
		sheet4 = helper.addCell(sheet4, 3, 14, spotReportG2.getSurfacespot().getPassF300());
		
		sheet4 = helper.addCell(sheet4, 5, 14, spotReportG2.getSurfacespot().getCountF301());
		sheet4 = helper.addCell(sheet4, 6, 14, spotReportG2.getSurfacespot().getCountF301());
		
		sheet4 = helper.addCell(sheet4, 8, 14, spotReportG2.getSurfacespot().getCountF302());
		sheet4 = helper.addCell(sheet4, 9, 14, spotReportG2.getSurfacespot().getCountF302());
		
		sheet4 = helper.addCell(sheet4, 11, 14, spotReportG2.getSurfacespot().getCountF303());
		sheet4 = helper.addCell(sheet4, 12, 14, spotReportG2.getSurfacespot().getCountF303());
		
		sheet4 = helper.addCell(sheet4, 14, 14, spotReportG2.getSurfacespot().getCountF304());
		sheet4 = helper.addCell(sheet4, 15, 14, spotReportG2.getSurfacespot().getCountF304());
		
		sheet4 = helper.addCell(sheet4, 17, 14, spotReportG2.getSurfacespot().getCountF305());
		sheet4 = helper.addCell(sheet4, 18, 14, spotReportG2.getSurfacespot().getCountF305());
		
		sheet4 = helper.addCell(sheet4, 20, 14, spotReportG2.getSurfacespot().getCountF306());
		sheet4 = helper.addCell(sheet4, 21, 14, spotReportG2.getSurfacespot().getCountF306());
		
		sheet4 = helper.addCell(sheet4, 23, 14, spotReportG2.getSurfacespot().getCountF307());
		sheet4 = helper.addCell(sheet4, 24, 14, spotReportG2.getSurfacespot().getCountF307());
		
		sheet4 = helper.addCell(sheet4, 26, 14, spotReportG2.getSurfacespot().getCountF308());
		sheet4 = helper.addCell(sheet4, 27, 14, spotReportG2.getSurfacespot().getCountF308());
		
		sheet4 = helper.addCell(sheet4, 29, 14, spotReportG2.getSurfacespot().getCountF309());
		sheet4 = helper.addCell(sheet4, 30, 14, spotReportG2.getSurfacespot().getCountF309());
		
		sheet4 = helper.addCell(sheet4, 32, 14, spotReportG2.getSurfacespot().getCountF310());
		sheet4 = helper.addCell(sheet4, 33, 14, spotReportG2.getSurfacespot().getCountF310());
		}
		
		if(spotReportG3.getSurfacespot() != null){
		/*国道三级及以下公路*/
		sheet4 = helper.addCell(sheet4, 2, 15, spotReportG3.getSurfacespot().getCountF300());
		sheet4 = helper.addCell(sheet4, 3, 15, spotReportG3.getSurfacespot().getPassF300());
		
		sheet4 = helper.addCell(sheet4, 5, 15, spotReportG3.getSurfacespot().getCountF301());
		sheet4 = helper.addCell(sheet4, 6, 15, spotReportG3.getSurfacespot().getCountF301());
		
		sheet4 = helper.addCell(sheet4, 8, 15, spotReportG3.getSurfacespot().getCountF302());
		sheet4 = helper.addCell(sheet4, 9, 15, spotReportG3.getSurfacespot().getCountF302());
		
		sheet4 = helper.addCell(sheet4, 11, 15, spotReportG3.getSurfacespot().getCountF303());
		sheet4 = helper.addCell(sheet4, 12, 15, spotReportG3.getSurfacespot().getCountF303());
		
		sheet4 = helper.addCell(sheet4, 14, 15, spotReportG3.getSurfacespot().getCountF304());
		sheet4 = helper.addCell(sheet4, 15, 15, spotReportG3.getSurfacespot().getCountF304());
		
		sheet4 = helper.addCell(sheet4, 17, 15, spotReportG3.getSurfacespot().getCountF305());
		sheet4 = helper.addCell(sheet4, 18, 15, spotReportG3.getSurfacespot().getCountF305());
		
		sheet4 = helper.addCell(sheet4, 20, 15, spotReportG3.getSurfacespot().getCountF306());
		sheet4 = helper.addCell(sheet4, 21, 15, spotReportG3.getSurfacespot().getCountF306());
		
		sheet4 = helper.addCell(sheet4, 23, 15, spotReportG3.getSurfacespot().getCountF307());
		sheet4 = helper.addCell(sheet4, 24, 15, spotReportG3.getSurfacespot().getCountF307());
		
		sheet4 = helper.addCell(sheet4, 26, 15, spotReportG3.getSurfacespot().getCountF308());
		sheet4 = helper.addCell(sheet4, 27, 15, spotReportG3.getSurfacespot().getCountF308());
		
		sheet4 = helper.addCell(sheet4, 29, 15, spotReportG3.getSurfacespot().getCountF309());
		sheet4 = helper.addCell(sheet4, 30, 15, spotReportG3.getSurfacespot().getCountF309());
		
		sheet4 = helper.addCell(sheet4, 32, 15, spotReportG3.getSurfacespot().getCountF310());
		sheet4 = helper.addCell(sheet4, 33, 15, spotReportG3.getSurfacespot().getCountF310());
		
		}
		
		
		if(spotReportS0.getSurfacespot() != null){
		/*省道高速公路*/
		sheet4 = helper.addCell(sheet4, 2, 17, spotReportS0.getSurfacespot().getCountF300());
		sheet4 = helper.addCell(sheet4, 3, 17, spotReportS0.getSurfacespot().getPassF300());
		
		sheet4 = helper.addCell(sheet4, 5, 17, spotReportS0.getSurfacespot().getCountF301());
		sheet4 = helper.addCell(sheet4, 6, 17, spotReportS0.getSurfacespot().getCountF301());
		
		sheet4 = helper.addCell(sheet4, 8, 17, spotReportS0.getSurfacespot().getCountF302());
		sheet4 = helper.addCell(sheet4, 9, 17, spotReportS0.getSurfacespot().getCountF302());
		
		sheet4 = helper.addCell(sheet4, 11, 17, spotReportS0.getSurfacespot().getCountF303());
		sheet4 = helper.addCell(sheet4, 12, 17, spotReportS0.getSurfacespot().getCountF303());
		
		sheet4 = helper.addCell(sheet4, 14, 17, spotReportS0.getSurfacespot().getCountF304());
		sheet4 = helper.addCell(sheet4, 15, 17, spotReportS0.getSurfacespot().getCountF304());
		
		sheet4 = helper.addCell(sheet4, 17, 17, spotReportS0.getSurfacespot().getCountF305());
		sheet4 = helper.addCell(sheet4, 18, 17, spotReportS0.getSurfacespot().getCountF305());
		
		sheet4 = helper.addCell(sheet4, 20, 17, spotReportS0.getSurfacespot().getCountF306());
		sheet4 = helper.addCell(sheet4, 21, 17, spotReportS0.getSurfacespot().getCountF306());
		
		sheet4 = helper.addCell(sheet4, 23, 17, spotReportS0.getSurfacespot().getCountF307());
		sheet4 = helper.addCell(sheet4, 24, 17, spotReportS0.getSurfacespot().getCountF307());
		
		sheet4 = helper.addCell(sheet4, 26, 17, spotReportS0.getSurfacespot().getCountF308());
		sheet4 = helper.addCell(sheet4, 27, 17, spotReportS0.getSurfacespot().getCountF308());
		
		sheet4 = helper.addCell(sheet4, 29, 17, spotReportS0.getSurfacespot().getCountF309());
		sheet4 = helper.addCell(sheet4, 30, 17, spotReportS0.getSurfacespot().getCountF309());
		
		sheet4 = helper.addCell(sheet4, 32, 17, spotReportS0.getSurfacespot().getCountF310());
		sheet4 = helper.addCell(sheet4, 33, 17, spotReportS0.getSurfacespot().getCountF310());
		}
		
		if(spotReportS1.getSurfacespot() != null){
		/*省道一级公路*/
		sheet4 = helper.addCell(sheet4, 2, 18, spotReportS1.getSurfacespot().getCountF300());
		sheet4 = helper.addCell(sheet4, 3, 18, spotReportS1.getSurfacespot().getPassF300());
		
		sheet4 = helper.addCell(sheet4, 5, 18, spotReportS1.getSurfacespot().getCountF301());
		sheet4 = helper.addCell(sheet4, 6, 18, spotReportS1.getSurfacespot().getCountF301());
		
		sheet4 = helper.addCell(sheet4, 8, 18, spotReportS1.getSurfacespot().getCountF302());
		sheet4 = helper.addCell(sheet4, 9, 18, spotReportS1.getSurfacespot().getCountF302());
		
		sheet4 = helper.addCell(sheet4, 11, 18, spotReportS1.getSurfacespot().getCountF303());
		sheet4 = helper.addCell(sheet4, 12, 18, spotReportS1.getSurfacespot().getCountF303());
		
		sheet4 = helper.addCell(sheet4, 14, 18, spotReportS1.getSurfacespot().getCountF304());
		sheet4 = helper.addCell(sheet4, 15, 18, spotReportS1.getSurfacespot().getCountF304());
		
		sheet4 = helper.addCell(sheet4, 17, 18, spotReportS1.getSurfacespot().getCountF305());
		sheet4 = helper.addCell(sheet4, 18, 18, spotReportS1.getSurfacespot().getCountF305());
		
		sheet4 = helper.addCell(sheet4, 20, 18, spotReportS1.getSurfacespot().getCountF306());
		sheet4 = helper.addCell(sheet4, 21, 18, spotReportS1.getSurfacespot().getCountF306());
		
		sheet4 = helper.addCell(sheet4, 23, 18, spotReportS1.getSurfacespot().getCountF307());
		sheet4 = helper.addCell(sheet4, 24, 18, spotReportS1.getSurfacespot().getCountF307());
		
		sheet4 = helper.addCell(sheet4, 26, 18, spotReportS1.getSurfacespot().getCountF308());
		sheet4 = helper.addCell(sheet4, 27, 18, spotReportS1.getSurfacespot().getCountF308());
		
		sheet4 = helper.addCell(sheet4, 29, 18, spotReportS1.getSurfacespot().getCountF309());
		sheet4 = helper.addCell(sheet4, 30, 18, spotReportS1.getSurfacespot().getCountF309());
		
		sheet4 = helper.addCell(sheet4, 32, 18, spotReportS1.getSurfacespot().getCountF310());
		sheet4 = helper.addCell(sheet4, 33, 18, spotReportS1.getSurfacespot().getCountF310());
		}
		
		if(spotReportS2.getSurfacespot() != null){
		/*省道二级公路*/
		sheet4 = helper.addCell(sheet4, 2, 19, spotReportS2.getSurfacespot().getCountF300());
		sheet4 = helper.addCell(sheet4, 3, 19, spotReportS2.getSurfacespot().getPassF300());
		
		sheet4 = helper.addCell(sheet4, 5, 19, spotReportS2.getSurfacespot().getCountF301());
		sheet4 = helper.addCell(sheet4, 6, 19, spotReportS2.getSurfacespot().getCountF301());
		
		sheet4 = helper.addCell(sheet4, 8, 19, spotReportS2.getSurfacespot().getCountF302());
		sheet4 = helper.addCell(sheet4, 9, 19, spotReportS2.getSurfacespot().getCountF302());
		
		sheet4 = helper.addCell(sheet4, 11, 19, spotReportS2.getSurfacespot().getCountF303());
		sheet4 = helper.addCell(sheet4, 12, 19, spotReportS2.getSurfacespot().getCountF303());
		
		sheet4 = helper.addCell(sheet4, 14, 19, spotReportS2.getSurfacespot().getCountF304());
		sheet4 = helper.addCell(sheet4, 15, 19, spotReportS2.getSurfacespot().getCountF304());
		
		sheet4 = helper.addCell(sheet4, 17, 19, spotReportS2.getSurfacespot().getCountF305());
		sheet4 = helper.addCell(sheet4, 18, 19, spotReportS2.getSurfacespot().getCountF305());
		
		sheet4 = helper.addCell(sheet4, 20, 19, spotReportS2.getSurfacespot().getCountF306());
		sheet4 = helper.addCell(sheet4, 21, 19, spotReportS2.getSurfacespot().getCountF306());
		
		sheet4 = helper.addCell(sheet4, 23, 19, spotReportS2.getSurfacespot().getCountF307());
		sheet4 = helper.addCell(sheet4, 24, 19, spotReportS2.getSurfacespot().getCountF307());
		
		sheet4 = helper.addCell(sheet4, 26, 19, spotReportS2.getSurfacespot().getCountF308());
		sheet4 = helper.addCell(sheet4, 27, 19, spotReportS2.getSurfacespot().getCountF308());
		
		sheet4 = helper.addCell(sheet4, 29, 19, spotReportS2.getSurfacespot().getCountF309());
		sheet4 = helper.addCell(sheet4, 30, 19, spotReportS2.getSurfacespot().getCountF309());
		
		sheet4 = helper.addCell(sheet4, 32, 19, spotReportS2.getSurfacespot().getCountF310());
		sheet4 = helper.addCell(sheet4, 33, 19, spotReportS2.getSurfacespot().getCountF310());
		}
		
		
		if(spotReportS3.getSurfacespot() != null){
		/*省道三级及以下公路*/
		sheet4 = helper.addCell(sheet4, 2, 20, spotReportS3.getSurfacespot().getCountF300());
		sheet4 = helper.addCell(sheet4, 3, 20, spotReportS3.getSurfacespot().getPassF300());
		
		sheet4 = helper.addCell(sheet4, 5, 20, spotReportS3.getSurfacespot().getCountF301());
		sheet4 = helper.addCell(sheet4, 6, 20, spotReportS3.getSurfacespot().getCountF301());
		
		sheet4 = helper.addCell(sheet4, 8, 20, spotReportS3.getSurfacespot().getCountF302());
		sheet4 = helper.addCell(sheet4, 9, 20, spotReportS3.getSurfacespot().getCountF302());
		
		sheet4 = helper.addCell(sheet4, 11, 20, spotReportS3.getSurfacespot().getCountF303());
		sheet4 = helper.addCell(sheet4, 12, 20, spotReportS3.getSurfacespot().getCountF303());
		
		sheet4 = helper.addCell(sheet4, 14, 20, spotReportS3.getSurfacespot().getCountF304());
		sheet4 = helper.addCell(sheet4, 15, 20, spotReportS3.getSurfacespot().getCountF304());
		
		sheet4 = helper.addCell(sheet4, 17, 20, spotReportS3.getSurfacespot().getCountF305());
		sheet4 = helper.addCell(sheet4, 18, 20, spotReportS3.getSurfacespot().getCountF305());
		
		sheet4 = helper.addCell(sheet4, 20, 20, spotReportS3.getSurfacespot().getCountF306());
		sheet4 = helper.addCell(sheet4, 21, 20, spotReportS3.getSurfacespot().getCountF306());
		
		sheet4 = helper.addCell(sheet4, 23, 20, spotReportS3.getSurfacespot().getCountF307());
		sheet4 = helper.addCell(sheet4, 24, 20, spotReportS3.getSurfacespot().getCountF307());
		
		sheet4 = helper.addCell(sheet4, 26, 20, spotReportS3.getSurfacespot().getCountF308());
		sheet4 = helper.addCell(sheet4, 27, 20, spotReportS3.getSurfacespot().getCountF308());
		
		sheet4 = helper.addCell(sheet4, 29, 20, spotReportS3.getSurfacespot().getCountF309());
		sheet4 = helper.addCell(sheet4, 30, 20, spotReportS3.getSurfacespot().getCountF309());
		
		sheet4 = helper.addCell(sheet4, 32, 20, spotReportS3.getSurfacespot().getCountF310());
		sheet4 = helper.addCell(sheet4, 33, 20, spotReportS3.getSurfacespot().getCountF310());
		}
		
		if(spotReportT1.getSurfacespot() != null){
		/*县道、乡道、村道高速公路*/
		sheet4 = helper.addCell(sheet4, 2, 22, spotReportT0.getSurfacespot().getCountF300());
		sheet4 = helper.addCell(sheet4, 3, 22, spotReportT0.getSurfacespot().getPassF300());
		
		sheet4 = helper.addCell(sheet4, 5, 22, spotReportT0.getSurfacespot().getCountF301());
		sheet4 = helper.addCell(sheet4, 6, 22, spotReportT0.getSurfacespot().getCountF301());
		
		sheet4 = helper.addCell(sheet4, 8, 22, spotReportT0.getSurfacespot().getCountF302());
		sheet4 = helper.addCell(sheet4, 9, 22, spotReportT0.getSurfacespot().getCountF302());
		
		sheet4 = helper.addCell(sheet4, 11, 22, spotReportT0.getSurfacespot().getCountF303());
		sheet4 = helper.addCell(sheet4, 12, 22, spotReportT0.getSurfacespot().getCountF303());
		
		sheet4 = helper.addCell(sheet4, 14, 22, spotReportT0.getSurfacespot().getCountF304());
		sheet4 = helper.addCell(sheet4, 15, 22, spotReportT0.getSurfacespot().getCountF304());
		
		sheet4 = helper.addCell(sheet4, 17, 22, spotReportT0.getSurfacespot().getCountF305());
		sheet4 = helper.addCell(sheet4, 18, 22, spotReportT0.getSurfacespot().getCountF305());
		
		sheet4 = helper.addCell(sheet4, 20, 22, spotReportT0.getSurfacespot().getCountF306());
		sheet4 = helper.addCell(sheet4, 21, 22, spotReportT0.getSurfacespot().getCountF306());
		
		sheet4 = helper.addCell(sheet4, 23, 22, spotReportT0.getSurfacespot().getCountF307());
		sheet4 = helper.addCell(sheet4, 24, 22, spotReportT0.getSurfacespot().getCountF307());
		
		sheet4 = helper.addCell(sheet4, 26, 22, spotReportT0.getSurfacespot().getCountF308());
		sheet4 = helper.addCell(sheet4, 27, 22, spotReportT0.getSurfacespot().getCountF308());
		
		sheet4 = helper.addCell(sheet4, 29, 22, spotReportT0.getSurfacespot().getCountF309());
		sheet4 = helper.addCell(sheet4, 30, 22, spotReportT0.getSurfacespot().getCountF309());
		
		sheet4 = helper.addCell(sheet4, 32, 22, spotReportT0.getSurfacespot().getCountF310());
		sheet4 = helper.addCell(sheet4, 33, 22, spotReportT0.getSurfacespot().getCountF310());
		}
		
		if(spotReportG0.getSurfacespot() != null){
		/*县道、乡道、村道一级公路*/
		sheet4 = helper.addCell(sheet4, 2, 23, spotReportT1.getSurfacespot().getCountF300());
		sheet4 = helper.addCell(sheet4, 3, 23, spotReportT1.getSurfacespot().getPassF300());
		
		sheet4 = helper.addCell(sheet4, 5, 23, spotReportT1.getSurfacespot().getCountF301());
		sheet4 = helper.addCell(sheet4, 6, 23, spotReportT1.getSurfacespot().getCountF301());
		
		sheet4 = helper.addCell(sheet4, 8, 23, spotReportT1.getSurfacespot().getCountF302());
		sheet4 = helper.addCell(sheet4, 9, 23, spotReportT1.getSurfacespot().getCountF302());
		
		sheet4 = helper.addCell(sheet4, 11, 23, spotReportT1.getSurfacespot().getCountF303());
		sheet4 = helper.addCell(sheet4, 12, 23, spotReportT1.getSurfacespot().getCountF303());
		
		sheet4 = helper.addCell(sheet4, 14, 23, spotReportT1.getSurfacespot().getCountF304());
		sheet4 = helper.addCell(sheet4, 15, 23, spotReportT1.getSurfacespot().getCountF304());
		
		sheet4 = helper.addCell(sheet4, 17, 23, spotReportT1.getSurfacespot().getCountF305());
		sheet4 = helper.addCell(sheet4, 18, 23, spotReportT1.getSurfacespot().getCountF305());
		
		sheet4 = helper.addCell(sheet4, 20, 23, spotReportT1.getSurfacespot().getCountF306());
		sheet4 = helper.addCell(sheet4, 21, 23, spotReportT1.getSurfacespot().getCountF306());
		
		sheet4 = helper.addCell(sheet4, 23, 23, spotReportT1.getSurfacespot().getCountF307());
		sheet4 = helper.addCell(sheet4, 24, 23, spotReportT1.getSurfacespot().getCountF307());
		
		sheet4 = helper.addCell(sheet4, 26, 23, spotReportT1.getSurfacespot().getCountF308());
		sheet4 = helper.addCell(sheet4, 27, 23, spotReportT1.getSurfacespot().getCountF308());
		
		sheet4 = helper.addCell(sheet4, 29, 23, spotReportT1.getSurfacespot().getCountF309());
		sheet4 = helper.addCell(sheet4, 30, 23, spotReportT1.getSurfacespot().getCountF309());
		
		sheet4 = helper.addCell(sheet4, 32, 23, spotReportT1.getSurfacespot().getCountF310());
		sheet4 = helper.addCell(sheet4, 33, 23, spotReportT1.getSurfacespot().getCountF310());
		}
		
		if(spotReportT2.getSurfacespot() != null){
		/*县道、乡道、村道二级公路   */
		sheet4 = helper.addCell(sheet4, 2, 24, spotReportT2.getSurfacespot().getCountF300());
		sheet4 = helper.addCell(sheet4, 3, 24, spotReportT2.getSurfacespot().getPassF300());
		
		sheet4 = helper.addCell(sheet4, 5, 24, spotReportT2.getSurfacespot().getCountF301());
		sheet4 = helper.addCell(sheet4, 6, 24, spotReportT2.getSurfacespot().getCountF301());
		
		sheet4 = helper.addCell(sheet4, 8, 24, spotReportT2.getSurfacespot().getCountF302());
		sheet4 = helper.addCell(sheet4, 9, 24, spotReportT2.getSurfacespot().getCountF302());
		
		sheet4 = helper.addCell(sheet4, 11, 24, spotReportT2.getSurfacespot().getCountF303());
		sheet4 = helper.addCell(sheet4, 12, 24, spotReportT2.getSurfacespot().getCountF303());
		
		sheet4 = helper.addCell(sheet4, 14, 24, spotReportT2.getSurfacespot().getCountF304());
		sheet4 = helper.addCell(sheet4, 15, 24, spotReportT2.getSurfacespot().getCountF304());
		
		sheet4 = helper.addCell(sheet4, 17, 24, spotReportT2.getSurfacespot().getCountF305());
		sheet4 = helper.addCell(sheet4, 18, 24, spotReportT2.getSurfacespot().getCountF305());
		
		sheet4 = helper.addCell(sheet4, 20, 24, spotReportT2.getSurfacespot().getCountF306());
		sheet4 = helper.addCell(sheet4, 21, 24, spotReportT2.getSurfacespot().getCountF306());
		
		sheet4 = helper.addCell(sheet4, 23, 24, spotReportT2.getSurfacespot().getCountF307());
		sheet4 = helper.addCell(sheet4, 24, 24, spotReportT2.getSurfacespot().getCountF307());
		
		sheet4 = helper.addCell(sheet4, 26, 24, spotReportT2.getSurfacespot().getCountF308());
		sheet4 = helper.addCell(sheet4, 27, 24, spotReportT2.getSurfacespot().getCountF308());
		
		sheet4 = helper.addCell(sheet4, 29, 24, spotReportT2.getSurfacespot().getCountF309());
		sheet4 = helper.addCell(sheet4, 30, 24, spotReportT2.getSurfacespot().getCountF309());
		
		sheet4 = helper.addCell(sheet4, 32, 24, spotReportT2.getSurfacespot().getCountF310());
		sheet4 = helper.addCell(sheet4, 33, 24, spotReportT2.getSurfacespot().getCountF310());
		}
		
		if(spotReportT3.getSurfacespot() != null){
		/*县道、乡道、村道三级及以下公路*/
		sheet4 = helper.addCell(sheet4, 2, 25, spotReportT3.getSurfacespot().getCountF300());
		sheet4 = helper.addCell(sheet4, 3, 25, spotReportT3.getSurfacespot().getPassF300());
		
		sheet4 = helper.addCell(sheet4, 5, 25, spotReportT3.getSurfacespot().getCountF301());
		sheet4 = helper.addCell(sheet4, 6, 25, spotReportT3.getSurfacespot().getCountF301());
		
		sheet4 = helper.addCell(sheet4, 8, 25, spotReportT3.getSurfacespot().getCountF302());
		sheet4 = helper.addCell(sheet4, 9, 25, spotReportT3.getSurfacespot().getCountF302());
		
		sheet4 = helper.addCell(sheet4, 11, 25, spotReportT3.getSurfacespot().getCountF303());
		sheet4 = helper.addCell(sheet4, 12, 25, spotReportT3.getSurfacespot().getCountF303());
		
		sheet4 = helper.addCell(sheet4, 14, 25, spotReportT3.getSurfacespot().getCountF304());
		sheet4 = helper.addCell(sheet4, 15, 25, spotReportT3.getSurfacespot().getCountF304());
		
		sheet4 = helper.addCell(sheet4, 17, 25, spotReportT3.getSurfacespot().getCountF305());
		sheet4 = helper.addCell(sheet4, 18, 25, spotReportT3.getSurfacespot().getCountF305());
		
		sheet4 = helper.addCell(sheet4, 20, 25, spotReportT3.getSurfacespot().getCountF306());
		sheet4 = helper.addCell(sheet4, 21, 25, spotReportT3.getSurfacespot().getCountF306());
		
		sheet4 = helper.addCell(sheet4, 23, 25, spotReportT3.getSurfacespot().getCountF307());
		sheet4 = helper.addCell(sheet4, 24, 25, spotReportT3.getSurfacespot().getCountF307());
		
		sheet4 = helper.addCell(sheet4, 26, 25, spotReportT3.getSurfacespot().getCountF308());
		sheet4 = helper.addCell(sheet4, 27, 25, spotReportT3.getSurfacespot().getCountF308());
		
		sheet4 = helper.addCell(sheet4, 29, 25, spotReportT3.getSurfacespot().getCountF309());
		sheet4 = helper.addCell(sheet4, 30, 25, spotReportT3.getSurfacespot().getCountF309());
		
		sheet4 = helper.addCell(sheet4, 32, 25, spotReportT3.getSurfacespot().getCountF310());
		sheet4 = helper.addCell(sheet4, 33, 25, spotReportT3.getSurfacespot().getCountF310());
		}
		
		WritableSheet sheet5 = sheets[5];
		if(spotReportG0.getBridgespot() != null){
		/*国道高速公路*/
		sheet5 = helper.addCell(sheet5, 2, 12, spotReportG0.getBridgespot().getCountF400());
		sheet5 = helper.addCell(sheet5, 3, 12, spotReportG0.getBridgespot().getPassF400());
		
		sheet5 = helper.addCell(sheet5, 5, 12, spotReportG0.getBridgespot().getCountF401());
		sheet5 = helper.addCell(sheet5, 6, 12, spotReportG0.getBridgespot().getCountF401());
		
		sheet5 = helper.addCell(sheet5, 8, 12, spotReportG0.getBridgespot().getCountF402());
		sheet5 = helper.addCell(sheet5, 9, 12, spotReportG0.getBridgespot().getCountF402());
		
		sheet5 = helper.addCell(sheet5, 11, 12, spotReportG0.getBridgespot().getCountF403());
		sheet5 = helper.addCell(sheet5, 12, 12, spotReportG0.getBridgespot().getCountF403());
		
		sheet5 = helper.addCell(sheet5, 14, 12, spotReportG0.getBridgespot().getCountF404());
		sheet5 = helper.addCell(sheet5, 15, 12, spotReportG0.getBridgespot().getCountF404());
		
		sheet5 = helper.addCell(sheet5, 17, 12, spotReportG0.getBridgespot().getCountF405());
		sheet5 = helper.addCell(sheet5, 18, 12, spotReportG0.getBridgespot().getCountF405());
		
		sheet5 = helper.addCell(sheet5, 20, 12, spotReportG0.getBridgespot().getCountF406());
		sheet5 = helper.addCell(sheet5, 21, 12, spotReportG0.getBridgespot().getCountF406());
		
		sheet5 = helper.addCell(sheet5, 23, 12, spotReportG0.getBridgespot().getCountF407());
		sheet5 = helper.addCell(sheet5, 24, 12, spotReportG0.getBridgespot().getCountF407());
		
		sheet5 = helper.addCell(sheet5, 26, 12, spotReportG0.getBridgespot().getCountF408());
		sheet5 = helper.addCell(sheet5, 27, 12, spotReportG0.getBridgespot().getCountF408());
		
		}
		
		if(spotReportG1.getBridgespot() != null){
		/*国道一级公路*/
		sheet5 = helper.addCell(sheet5, 2, 13, spotReportG1.getBridgespot().getCountF400());
		sheet5 = helper.addCell(sheet5, 3, 13, spotReportG1.getBridgespot().getPassF400());
		
		sheet5 = helper.addCell(sheet5, 5, 13, spotReportG1.getBridgespot().getCountF401());
		sheet5 = helper.addCell(sheet5, 6, 13, spotReportG1.getBridgespot().getCountF401());
		
		sheet5 = helper.addCell(sheet5, 8, 13, spotReportG1.getBridgespot().getCountF402());
		sheet5 = helper.addCell(sheet5, 9, 13, spotReportG1.getBridgespot().getCountF402());
		
		sheet5 = helper.addCell(sheet5, 11, 13, spotReportG1.getBridgespot().getCountF403());
		sheet5 = helper.addCell(sheet5, 12, 13, spotReportG1.getBridgespot().getCountF403());
		
		sheet5 = helper.addCell(sheet5, 14, 13, spotReportG1.getBridgespot().getCountF404());
		sheet5 = helper.addCell(sheet5, 15, 13, spotReportG1.getBridgespot().getCountF404());
		
		sheet5 = helper.addCell(sheet5, 17, 13, spotReportG1.getBridgespot().getCountF405());
		sheet5 = helper.addCell(sheet5, 18, 13, spotReportG1.getBridgespot().getCountF405());
		
		sheet5 = helper.addCell(sheet5, 20, 13, spotReportG1.getBridgespot().getCountF406());
		sheet5 = helper.addCell(sheet5, 21, 13, spotReportG1.getBridgespot().getCountF406());
		
		sheet5 = helper.addCell(sheet5, 23, 13, spotReportG1.getBridgespot().getCountF407());
		sheet5 = helper.addCell(sheet5, 24, 13, spotReportG1.getBridgespot().getCountF407());
		
		sheet5 = helper.addCell(sheet5, 26, 13, spotReportG1.getBridgespot().getCountF408());
		sheet5 = helper.addCell(sheet5, 27, 13, spotReportG1.getBridgespot().getCountF408());
		
		}
		
		if(spotReportG2.getBridgespot() != null){
		/*国道二级公路*/
		sheet5 = helper.addCell(sheet5, 2, 14, spotReportG2.getBridgespot().getCountF400());
		sheet5 = helper.addCell(sheet5, 3, 14, spotReportG2.getBridgespot().getPassF400());
		
		sheet5 = helper.addCell(sheet5, 5, 14, spotReportG2.getBridgespot().getCountF401());
		sheet5 = helper.addCell(sheet5, 6, 14, spotReportG2.getBridgespot().getCountF401());
		
		sheet5 = helper.addCell(sheet5, 8, 14, spotReportG2.getBridgespot().getCountF402());
		sheet5 = helper.addCell(sheet5, 9, 14, spotReportG2.getBridgespot().getCountF402());
		
		sheet5 = helper.addCell(sheet5, 11, 14, spotReportG2.getBridgespot().getCountF403());
		sheet5 = helper.addCell(sheet5, 12, 14, spotReportG2.getBridgespot().getCountF403());
		
		sheet5 = helper.addCell(sheet5, 14, 14, spotReportG2.getBridgespot().getCountF404());
		sheet5 = helper.addCell(sheet5, 15, 14, spotReportG2.getBridgespot().getCountF404());
		
		sheet5 = helper.addCell(sheet5, 17, 14, spotReportG2.getBridgespot().getCountF405());
		sheet5 = helper.addCell(sheet5, 18, 14, spotReportG2.getBridgespot().getCountF405());
		
		sheet5 = helper.addCell(sheet5, 20, 14, spotReportG2.getBridgespot().getCountF406());
		sheet5 = helper.addCell(sheet5, 21, 14, spotReportG2.getBridgespot().getCountF406());
		
		sheet5 = helper.addCell(sheet5, 23, 14, spotReportG2.getBridgespot().getCountF407());
		sheet5 = helper.addCell(sheet5, 24, 14, spotReportG2.getBridgespot().getCountF407());
		
		sheet5 = helper.addCell(sheet5, 26, 14, spotReportG2.getBridgespot().getCountF408());
		sheet5 = helper.addCell(sheet5, 27, 14, spotReportG2.getBridgespot().getCountF408());
		
		}
		
		if(spotReportG3.getBridgespot() != null){
		/*国道三级及以下公路*/
		sheet5 = helper.addCell(sheet5, 2, 15, spotReportG3.getBridgespot().getCountF400());
		sheet5 = helper.addCell(sheet5, 3, 15, spotReportG3.getBridgespot().getPassF400());
		
		sheet5 = helper.addCell(sheet5, 5, 15, spotReportG3.getBridgespot().getCountF401());
		sheet5 = helper.addCell(sheet5, 6, 15, spotReportG3.getBridgespot().getCountF401());
		
		sheet5 = helper.addCell(sheet5, 8, 15, spotReportG3.getBridgespot().getCountF402());
		sheet5 = helper.addCell(sheet5, 9, 15, spotReportG3.getBridgespot().getCountF402());
		
		sheet5 = helper.addCell(sheet5, 11, 15, spotReportG3.getBridgespot().getCountF403());
		sheet5 = helper.addCell(sheet5, 12, 15, spotReportG3.getBridgespot().getCountF403());
		
		sheet5 = helper.addCell(sheet5, 14, 15, spotReportG3.getBridgespot().getCountF404());
		sheet5 = helper.addCell(sheet5, 15, 15, spotReportG3.getBridgespot().getCountF404());
		
		sheet5 = helper.addCell(sheet5, 17, 15, spotReportG3.getBridgespot().getCountF405());
		sheet5 = helper.addCell(sheet5, 18, 15, spotReportG3.getBridgespot().getCountF405());
		
		sheet5 = helper.addCell(sheet5, 20, 15, spotReportG3.getBridgespot().getCountF406());
		sheet5 = helper.addCell(sheet5, 21, 15, spotReportG3.getBridgespot().getCountF406());
		
		sheet5 = helper.addCell(sheet5, 23, 15, spotReportG3.getBridgespot().getCountF407());
		sheet5 = helper.addCell(sheet5, 24, 15, spotReportG3.getBridgespot().getCountF407());
		
		sheet5 = helper.addCell(sheet5, 26, 15, spotReportG3.getBridgespot().getCountF408());
		sheet5 = helper.addCell(sheet5, 27, 15, spotReportG3.getBridgespot().getCountF408());
		
		}
		
		
		if(spotReportS0.getBridgespot() != null){
		/*省道高速公路*/
		sheet5 = helper.addCell(sheet5, 2, 17, spotReportS0.getBridgespot().getCountF400());
		sheet5 = helper.addCell(sheet5, 3, 17, spotReportS0.getBridgespot().getPassF400());
		
		sheet5 = helper.addCell(sheet5, 5, 17, spotReportS0.getBridgespot().getCountF401());
		sheet5 = helper.addCell(sheet5, 6, 17, spotReportS0.getBridgespot().getCountF401());
		
		sheet5 = helper.addCell(sheet5, 8, 17, spotReportS0.getBridgespot().getCountF402());
		sheet5 = helper.addCell(sheet5, 9, 17, spotReportS0.getBridgespot().getCountF402());
		
		sheet5 = helper.addCell(sheet5, 11, 17, spotReportS0.getBridgespot().getCountF403());
		sheet5 = helper.addCell(sheet5, 12, 17, spotReportS0.getBridgespot().getCountF403());
		
		sheet5 = helper.addCell(sheet5, 14, 17, spotReportS0.getBridgespot().getCountF404());
		sheet5 = helper.addCell(sheet5, 15, 17, spotReportS0.getBridgespot().getCountF404());
		
		sheet5 = helper.addCell(sheet5, 17, 17, spotReportS0.getBridgespot().getCountF405());
		sheet5 = helper.addCell(sheet5, 18, 17, spotReportS0.getBridgespot().getCountF405());
		
		sheet5 = helper.addCell(sheet5, 20, 17, spotReportS0.getBridgespot().getCountF406());
		sheet5 = helper.addCell(sheet5, 21, 17, spotReportS0.getBridgespot().getCountF406());
		
		sheet5 = helper.addCell(sheet5, 23, 17, spotReportS0.getBridgespot().getCountF407());
		sheet5 = helper.addCell(sheet5, 24, 17, spotReportS0.getBridgespot().getCountF407());
		
		sheet5 = helper.addCell(sheet5, 26, 17, spotReportS0.getBridgespot().getCountF408());
		sheet5 = helper.addCell(sheet5, 27, 17, spotReportS0.getBridgespot().getCountF408());
		
		}
		
		if(spotReportS1.getBridgespot() != null){
		/*省道一级公路*/
		sheet5 = helper.addCell(sheet5, 2, 18, spotReportS1.getBridgespot().getCountF400());
		sheet5 = helper.addCell(sheet5, 3, 18, spotReportS1.getBridgespot().getPassF400());
		
		sheet5 = helper.addCell(sheet5, 5, 18, spotReportS1.getBridgespot().getCountF401());
		sheet5 = helper.addCell(sheet5, 6, 18, spotReportS1.getBridgespot().getCountF401());
		
		sheet5 = helper.addCell(sheet5, 8, 18, spotReportS1.getBridgespot().getCountF402());
		sheet5 = helper.addCell(sheet5, 9, 18, spotReportS1.getBridgespot().getCountF402());
		
		sheet5 = helper.addCell(sheet5, 11, 18, spotReportS1.getBridgespot().getCountF403());
		sheet5 = helper.addCell(sheet5, 12, 18, spotReportS1.getBridgespot().getCountF403());
		
		sheet5 = helper.addCell(sheet5, 14, 18, spotReportS1.getBridgespot().getCountF404());
		sheet5 = helper.addCell(sheet5, 15, 18, spotReportS1.getBridgespot().getCountF404());
		
		sheet5 = helper.addCell(sheet5, 17, 18, spotReportS1.getBridgespot().getCountF405());
		sheet5 = helper.addCell(sheet5, 18, 18, spotReportS1.getBridgespot().getCountF405());
		
		sheet5 = helper.addCell(sheet5, 20, 18, spotReportS1.getBridgespot().getCountF406());
		sheet5 = helper.addCell(sheet5, 21, 18, spotReportS1.getBridgespot().getCountF406());
		
		sheet5 = helper.addCell(sheet5, 23, 18, spotReportS1.getBridgespot().getCountF407());
		sheet5 = helper.addCell(sheet5, 24, 18, spotReportS1.getBridgespot().getCountF407());
		
		sheet5 = helper.addCell(sheet5, 26, 18, spotReportS1.getBridgespot().getCountF408());
		sheet5 = helper.addCell(sheet5, 27, 18, spotReportS1.getBridgespot().getCountF408());
		
		}
		
		if(spotReportS2.getBridgespot() != null){
		/*省道二级公路*/
		sheet5 = helper.addCell(sheet5, 2, 19, spotReportS2.getBridgespot().getCountF400());
		sheet5 = helper.addCell(sheet5, 3, 19, spotReportS2.getBridgespot().getPassF400());
		
		sheet5 = helper.addCell(sheet5, 5, 19, spotReportS2.getBridgespot().getCountF401());
		sheet5 = helper.addCell(sheet5, 6, 19, spotReportS2.getBridgespot().getCountF401());
		
		sheet5 = helper.addCell(sheet5, 8, 19, spotReportS2.getBridgespot().getCountF402());
		sheet5 = helper.addCell(sheet5, 9, 19, spotReportS2.getBridgespot().getCountF402());
		
		sheet5 = helper.addCell(sheet5, 11, 19, spotReportS2.getBridgespot().getCountF403());
		sheet5 = helper.addCell(sheet5, 12, 19, spotReportS2.getBridgespot().getCountF403());
		
		sheet5 = helper.addCell(sheet5, 14, 19, spotReportS2.getBridgespot().getCountF404());
		sheet5 = helper.addCell(sheet5, 15, 19, spotReportS2.getBridgespot().getCountF404());
		
		sheet5 = helper.addCell(sheet5, 17, 19, spotReportS2.getBridgespot().getCountF405());
		sheet5 = helper.addCell(sheet5, 18, 19, spotReportS2.getBridgespot().getCountF405());
		
		sheet5 = helper.addCell(sheet5, 20, 19, spotReportS2.getBridgespot().getCountF406());
		sheet5 = helper.addCell(sheet5, 21, 19, spotReportS2.getBridgespot().getCountF406());
		
		sheet5 = helper.addCell(sheet5, 23, 19, spotReportS2.getBridgespot().getCountF407());
		sheet5 = helper.addCell(sheet5, 24, 19, spotReportS2.getBridgespot().getCountF407());
		
		sheet5 = helper.addCell(sheet5, 26, 19, spotReportS2.getBridgespot().getCountF408());
		sheet5 = helper.addCell(sheet5, 27, 19, spotReportS2.getBridgespot().getCountF408());
		
		}
		
		
		if(spotReportS3.getBridgespot() != null){
		/*省道三级及以下公路*/
		sheet5 = helper.addCell(sheet5, 2, 20, spotReportS3.getBridgespot().getCountF400());
		sheet5 = helper.addCell(sheet5, 3, 20, spotReportS3.getBridgespot().getPassF400());
		
		sheet5 = helper.addCell(sheet5, 5, 20, spotReportS3.getBridgespot().getCountF401());
		sheet5 = helper.addCell(sheet5, 6, 20, spotReportS3.getBridgespot().getCountF401());
		
		sheet5 = helper.addCell(sheet5, 8, 20, spotReportS3.getBridgespot().getCountF402());
		sheet5 = helper.addCell(sheet5, 9, 20, spotReportS3.getBridgespot().getCountF402());
		
		sheet5 = helper.addCell(sheet5, 11, 20, spotReportS3.getBridgespot().getCountF403());
		sheet5 = helper.addCell(sheet5, 12, 20, spotReportS3.getBridgespot().getCountF403());
		
		sheet5 = helper.addCell(sheet5, 14, 20, spotReportS3.getBridgespot().getCountF404());
		sheet5 = helper.addCell(sheet5, 15, 20, spotReportS3.getBridgespot().getCountF404());
		
		sheet5 = helper.addCell(sheet5, 17, 20, spotReportS3.getBridgespot().getCountF405());
		sheet5 = helper.addCell(sheet5, 18, 20, spotReportS3.getBridgespot().getCountF405());
		
		sheet5 = helper.addCell(sheet5, 20, 20, spotReportS3.getBridgespot().getCountF406());
		sheet5 = helper.addCell(sheet5, 21, 20, spotReportS3.getBridgespot().getCountF406());
		
		sheet5 = helper.addCell(sheet5, 23, 20, spotReportS3.getBridgespot().getCountF407());
		sheet5 = helper.addCell(sheet5, 24, 20, spotReportS3.getBridgespot().getCountF407());
		
		sheet5 = helper.addCell(sheet5, 26, 20, spotReportS3.getBridgespot().getCountF408());
		sheet5 = helper.addCell(sheet5, 27, 20, spotReportS3.getBridgespot().getCountF408());
		
		}
		
		if(spotReportT1.getBridgespot() != null){
		/*县道、乡道、村道高速公路*/
		sheet5 = helper.addCell(sheet5, 2, 22, spotReportT0.getBridgespot().getCountF400());
		sheet5 = helper.addCell(sheet5, 3, 22, spotReportT0.getBridgespot().getPassF400());
		
		sheet5 = helper.addCell(sheet5, 5, 22, spotReportT0.getBridgespot().getCountF401());
		sheet5 = helper.addCell(sheet5, 6, 22, spotReportT0.getBridgespot().getCountF401());
		
		sheet5 = helper.addCell(sheet5, 8, 22, spotReportT0.getBridgespot().getCountF402());
		sheet5 = helper.addCell(sheet5, 9, 22, spotReportT0.getBridgespot().getCountF402());
		
		sheet5 = helper.addCell(sheet5, 11, 22, spotReportT0.getBridgespot().getCountF403());
		sheet5 = helper.addCell(sheet5, 12, 22, spotReportT0.getBridgespot().getCountF403());
		
		sheet5 = helper.addCell(sheet5, 14, 22, spotReportT0.getBridgespot().getCountF404());
		sheet5 = helper.addCell(sheet5, 15, 22, spotReportT0.getBridgespot().getCountF404());
		
		sheet5 = helper.addCell(sheet5, 17, 22, spotReportT0.getBridgespot().getCountF405());
		sheet5 = helper.addCell(sheet5, 18, 22, spotReportT0.getBridgespot().getCountF405());
		
		sheet5 = helper.addCell(sheet5, 20, 22, spotReportT0.getBridgespot().getCountF406());
		sheet5 = helper.addCell(sheet5, 21, 22, spotReportT0.getBridgespot().getCountF406());
		
		sheet5 = helper.addCell(sheet5, 23, 22, spotReportT0.getBridgespot().getCountF407());
		sheet5 = helper.addCell(sheet5, 24, 22, spotReportT0.getBridgespot().getCountF407());
		
		sheet5 = helper.addCell(sheet5, 26, 22, spotReportT0.getBridgespot().getCountF408());
		sheet5 = helper.addCell(sheet5, 27, 22, spotReportT0.getBridgespot().getCountF408());
		
		}
		
		if(spotReportG0.getBridgespot() != null){
		/*县道、乡道、村道一级公路*/
		sheet5 = helper.addCell(sheet5, 2, 23, spotReportT1.getBridgespot().getCountF400());
		sheet5 = helper.addCell(sheet5, 3, 23, spotReportT1.getBridgespot().getPassF400());
		
		sheet5 = helper.addCell(sheet5, 5, 23, spotReportT1.getBridgespot().getCountF401());
		sheet5 = helper.addCell(sheet5, 6, 23, spotReportT1.getBridgespot().getCountF401());
		
		sheet5 = helper.addCell(sheet5, 8, 23, spotReportT1.getBridgespot().getCountF402());
		sheet5 = helper.addCell(sheet5, 9, 23, spotReportT1.getBridgespot().getCountF402());
		
		sheet5 = helper.addCell(sheet5, 11, 23, spotReportT1.getBridgespot().getCountF403());
		sheet5 = helper.addCell(sheet5, 12, 23, spotReportT1.getBridgespot().getCountF403());
		
		sheet5 = helper.addCell(sheet5, 14, 23, spotReportT1.getBridgespot().getCountF404());
		sheet5 = helper.addCell(sheet5, 15, 23, spotReportT1.getBridgespot().getCountF404());
		
		sheet5 = helper.addCell(sheet5, 17, 23, spotReportT1.getBridgespot().getCountF405());
		sheet5 = helper.addCell(sheet5, 18, 23, spotReportT1.getBridgespot().getCountF405());
		
		sheet5 = helper.addCell(sheet5, 20, 23, spotReportT1.getBridgespot().getCountF406());
		sheet5 = helper.addCell(sheet5, 21, 23, spotReportT1.getBridgespot().getCountF406());
		
		sheet5 = helper.addCell(sheet5, 23, 23, spotReportT1.getBridgespot().getCountF407());
		sheet5 = helper.addCell(sheet5, 24, 23, spotReportT1.getBridgespot().getCountF407());
		
		sheet5 = helper.addCell(sheet5, 26, 23, spotReportT1.getBridgespot().getCountF408());
		sheet5 = helper.addCell(sheet5, 27, 23, spotReportT1.getBridgespot().getCountF408());
		}
		
		if(spotReportT2.getBridgespot() != null){
		/*县道、乡道、村道二级公路   */
		sheet5 = helper.addCell(sheet5, 2, 24, spotReportT2.getBridgespot().getCountF400());
		sheet5 = helper.addCell(sheet5, 3, 24, spotReportT2.getBridgespot().getPassF400());
		
		sheet5 = helper.addCell(sheet5, 5, 24, spotReportT2.getBridgespot().getCountF401());
		sheet5 = helper.addCell(sheet5, 6, 24, spotReportT2.getBridgespot().getCountF401());
		
		sheet5 = helper.addCell(sheet5, 8, 24, spotReportT2.getBridgespot().getCountF402());
		sheet5 = helper.addCell(sheet5, 9, 24, spotReportT2.getBridgespot().getCountF402());
		
		sheet5 = helper.addCell(sheet5, 11, 24, spotReportT2.getBridgespot().getCountF403());
		sheet5 = helper.addCell(sheet5, 12, 24, spotReportT2.getBridgespot().getCountF403());
		
		sheet5 = helper.addCell(sheet5, 14, 24, spotReportT2.getBridgespot().getCountF404());
		sheet5 = helper.addCell(sheet5, 15, 24, spotReportT2.getBridgespot().getCountF404());
		
		sheet5 = helper.addCell(sheet5, 17, 24, spotReportT2.getBridgespot().getCountF405());
		sheet5 = helper.addCell(sheet5, 18, 24, spotReportT2.getBridgespot().getCountF405());
		
		sheet5 = helper.addCell(sheet5, 20, 24, spotReportT2.getBridgespot().getCountF406());
		sheet5 = helper.addCell(sheet5, 21, 24, spotReportT2.getBridgespot().getCountF406());
		
		sheet5 = helper.addCell(sheet5, 23, 24, spotReportT2.getBridgespot().getCountF407());
		sheet5 = helper.addCell(sheet5, 24, 24, spotReportT2.getBridgespot().getCountF407());
		
		sheet5 = helper.addCell(sheet5, 26, 24, spotReportT2.getBridgespot().getCountF408());
		sheet5 = helper.addCell(sheet5, 27, 24, spotReportT2.getBridgespot().getCountF408());
		
		}
		
		if(spotReportT3.getBridgespot() != null){
		/*县道、乡道、村道三级及以下公路*/
		sheet5 = helper.addCell(sheet5, 2, 25, spotReportT3.getBridgespot().getCountF400());
		sheet5 = helper.addCell(sheet5, 3, 25, spotReportT3.getBridgespot().getPassF400());
		
		sheet5 = helper.addCell(sheet5, 5, 25, spotReportT3.getBridgespot().getCountF401());
		sheet5 = helper.addCell(sheet5, 6, 25, spotReportT3.getBridgespot().getCountF401());
		
		sheet5 = helper.addCell(sheet5, 8, 25, spotReportT3.getBridgespot().getCountF402());
		sheet5 = helper.addCell(sheet5, 9, 25, spotReportT3.getBridgespot().getCountF402());
		
		sheet5 = helper.addCell(sheet5, 11, 25, spotReportT3.getBridgespot().getCountF403());
		sheet5 = helper.addCell(sheet5, 12, 25, spotReportT3.getBridgespot().getCountF403());
		
		sheet5 = helper.addCell(sheet5, 14, 25, spotReportT3.getBridgespot().getCountF404());
		sheet5 = helper.addCell(sheet5, 15, 25, spotReportT3.getBridgespot().getCountF404());
		
		sheet5 = helper.addCell(sheet5, 17, 25, spotReportT3.getBridgespot().getCountF405());
		sheet5 = helper.addCell(sheet5, 18, 25, spotReportT3.getBridgespot().getCountF405());
		
		sheet5 = helper.addCell(sheet5, 20, 25, spotReportT3.getBridgespot().getCountF406());
		sheet5 = helper.addCell(sheet5, 21, 25, spotReportT3.getBridgespot().getCountF406());
		
		sheet5 = helper.addCell(sheet5, 23, 25, spotReportT3.getBridgespot().getCountF407());
		sheet5 = helper.addCell(sheet5, 24, 25, spotReportT3.getBridgespot().getCountF407());
		
		sheet5 = helper.addCell(sheet5, 26, 25, spotReportT3.getBridgespot().getCountF408());
		sheet5 = helper.addCell(sheet5, 27, 25, spotReportT3.getBridgespot().getCountF408());
		
		}
		
		WritableSheet sheet6 = sheets[6];
		if(spotReportG0.getTunnelspot() != null){
		/*国道高速公路*/
		sheet6 = helper.addCell(sheet6, 2, 12, spotReportG0.getTunnelspot().getCountF500());
		sheet6 = helper.addCell(sheet6, 3, 12, spotReportG0.getTunnelspot().getPassF500());
		
		sheet6 = helper.addCell(sheet6, 5, 12, spotReportG0.getTunnelspot().getCountF501());
		sheet6 = helper.addCell(sheet6, 6, 12, spotReportG0.getTunnelspot().getCountF501());
		
		sheet6 = helper.addCell(sheet6, 8, 12, spotReportG0.getTunnelspot().getCountF502());
		sheet6 = helper.addCell(sheet6, 9, 12, spotReportG0.getTunnelspot().getCountF502());
		
		sheet6 = helper.addCell(sheet6, 11, 12, spotReportG0.getTunnelspot().getCountF503());
		sheet6 = helper.addCell(sheet6, 12, 12, spotReportG0.getTunnelspot().getCountF503());
		
		sheet6 = helper.addCell(sheet6, 14, 12, spotReportG0.getTunnelspot().getCountF504());
		sheet6 = helper.addCell(sheet6, 15, 12, spotReportG0.getTunnelspot().getCountF504());
		
		}
		
		if(spotReportG1.getTunnelspot() != null){
		/*国道一级公路*/
		sheet6 = helper.addCell(sheet6, 2, 13, spotReportG1.getTunnelspot().getCountF500());
		sheet6 = helper.addCell(sheet6, 3, 13, spotReportG1.getTunnelspot().getPassF500());
		
		sheet6 = helper.addCell(sheet6, 5, 13, spotReportG1.getTunnelspot().getCountF501());
		sheet6 = helper.addCell(sheet6, 6, 13, spotReportG1.getTunnelspot().getCountF501());
		
		sheet6 = helper.addCell(sheet6, 8, 13, spotReportG1.getTunnelspot().getCountF502());
		sheet6 = helper.addCell(sheet6, 9, 13, spotReportG1.getTunnelspot().getCountF502());
		
		sheet6 = helper.addCell(sheet6, 11, 13, spotReportG1.getTunnelspot().getCountF503());
		sheet6 = helper.addCell(sheet6, 12, 13, spotReportG1.getTunnelspot().getCountF503());
		
		sheet6 = helper.addCell(sheet6, 14, 13, spotReportG1.getTunnelspot().getCountF504());
		sheet6 = helper.addCell(sheet6, 15, 13, spotReportG1.getTunnelspot().getCountF504());
		
		}
		
		if(spotReportG2.getTunnelspot() != null){
		/*国道二级公路*/
		sheet6 = helper.addCell(sheet6, 2, 14, spotReportG2.getTunnelspot().getCountF500());
		sheet6 = helper.addCell(sheet6, 3, 14, spotReportG2.getTunnelspot().getPassF500());
		
		sheet6 = helper.addCell(sheet6, 5, 14, spotReportG2.getTunnelspot().getCountF501());
		sheet6 = helper.addCell(sheet6, 6, 14, spotReportG2.getTunnelspot().getCountF501());
		
		sheet6 = helper.addCell(sheet6, 8, 14, spotReportG2.getTunnelspot().getCountF502());
		sheet6 = helper.addCell(sheet6, 9, 14, spotReportG2.getTunnelspot().getCountF502());
		
		sheet6 = helper.addCell(sheet6, 11, 14, spotReportG2.getTunnelspot().getCountF503());
		sheet6 = helper.addCell(sheet6, 12, 14, spotReportG2.getTunnelspot().getCountF503());
		
		sheet6 = helper.addCell(sheet6, 14, 14, spotReportG2.getTunnelspot().getCountF504());
		sheet6 = helper.addCell(sheet6, 15, 14, spotReportG2.getTunnelspot().getCountF504());
		
		}
		
		if(spotReportG3.getTunnelspot() != null){
		/*国道三级及以下公路*/
		sheet6 = helper.addCell(sheet6, 2, 15, spotReportG3.getTunnelspot().getCountF500());
		sheet6 = helper.addCell(sheet6, 3, 15, spotReportG3.getTunnelspot().getPassF500());
		
		sheet6 = helper.addCell(sheet6, 5, 15, spotReportG3.getTunnelspot().getCountF501());
		sheet6 = helper.addCell(sheet6, 6, 15, spotReportG3.getTunnelspot().getCountF501());
		
		sheet6 = helper.addCell(sheet6, 8, 15, spotReportG3.getTunnelspot().getCountF502());
		sheet6 = helper.addCell(sheet6, 9, 15, spotReportG3.getTunnelspot().getCountF502());
		
		sheet6 = helper.addCell(sheet6, 11, 15, spotReportG3.getTunnelspot().getCountF503());
		sheet6 = helper.addCell(sheet6, 12, 15, spotReportG3.getTunnelspot().getCountF503());
		
		sheet6 = helper.addCell(sheet6, 14, 15, spotReportG3.getTunnelspot().getCountF504());
		sheet6 = helper.addCell(sheet6, 15, 15, spotReportG3.getTunnelspot().getCountF504());
		
		
		}
		
		
		if(spotReportS0.getTunnelspot() != null){
		/*省道高速公路*/
		sheet6 = helper.addCell(sheet6, 2, 17, spotReportS0.getTunnelspot().getCountF500());
		sheet6 = helper.addCell(sheet6, 3, 17, spotReportS0.getTunnelspot().getPassF500());
		
		sheet6 = helper.addCell(sheet6, 5, 17, spotReportS0.getTunnelspot().getCountF501());
		sheet6 = helper.addCell(sheet6, 6, 17, spotReportS0.getTunnelspot().getCountF501());
		
		sheet6 = helper.addCell(sheet6, 8, 17, spotReportS0.getTunnelspot().getCountF502());
		sheet6 = helper.addCell(sheet6, 9, 17, spotReportS0.getTunnelspot().getCountF502());
		
		sheet6 = helper.addCell(sheet6, 11, 17, spotReportS0.getTunnelspot().getCountF503());
		sheet6 = helper.addCell(sheet6, 12, 17, spotReportS0.getTunnelspot().getCountF503());
		
		sheet6 = helper.addCell(sheet6, 14, 17, spotReportS0.getTunnelspot().getCountF504());
		sheet6 = helper.addCell(sheet6, 15, 17, spotReportS0.getTunnelspot().getCountF504());
		
		}
		
		if(spotReportS1.getTunnelspot() != null){
		/*省道一级公路*/
		sheet6 = helper.addCell(sheet6, 2, 18, spotReportS1.getTunnelspot().getCountF500());
		sheet6 = helper.addCell(sheet6, 3, 18, spotReportS1.getTunnelspot().getPassF500());
		
		sheet6 = helper.addCell(sheet6, 5, 18, spotReportS1.getTunnelspot().getCountF501());
		sheet6 = helper.addCell(sheet6, 6, 18, spotReportS1.getTunnelspot().getCountF501());
		
		sheet6 = helper.addCell(sheet6, 8, 18, spotReportS1.getTunnelspot().getCountF502());
		sheet6 = helper.addCell(sheet6, 9, 18, spotReportS1.getTunnelspot().getCountF502());
		
		sheet6 = helper.addCell(sheet6, 11, 18, spotReportS1.getTunnelspot().getCountF503());
		sheet6 = helper.addCell(sheet6, 12, 18, spotReportS1.getTunnelspot().getCountF503());
		
		sheet6 = helper.addCell(sheet6, 14, 18, spotReportS1.getTunnelspot().getCountF504());
		sheet6 = helper.addCell(sheet6, 15, 18, spotReportS1.getTunnelspot().getCountF504());
		
		}
		
		if(spotReportS2.getTunnelspot() != null){
		/*省道二级公路*/
		sheet6 = helper.addCell(sheet6, 2, 19, spotReportS2.getTunnelspot().getCountF500());
		sheet6 = helper.addCell(sheet6, 3, 19, spotReportS2.getTunnelspot().getPassF500());
		
		sheet6 = helper.addCell(sheet6, 5, 19, spotReportS2.getTunnelspot().getCountF501());
		sheet6 = helper.addCell(sheet6, 6, 19, spotReportS2.getTunnelspot().getCountF501());
		
		sheet6 = helper.addCell(sheet6, 8, 19, spotReportS2.getTunnelspot().getCountF502());
		sheet6 = helper.addCell(sheet6, 9, 19, spotReportS2.getTunnelspot().getCountF502());
		
		sheet6 = helper.addCell(sheet6, 11, 19, spotReportS2.getTunnelspot().getCountF503());
		sheet6 = helper.addCell(sheet6, 12, 19, spotReportS2.getTunnelspot().getCountF503());
		
		sheet6 = helper.addCell(sheet6, 14, 19, spotReportS2.getTunnelspot().getCountF504());
		sheet6 = helper.addCell(sheet6, 15, 19, spotReportS2.getTunnelspot().getCountF504());
		
		}
		
		
		if(spotReportS3.getTunnelspot() != null){
		/*省道三级及以下公路*/
		sheet6 = helper.addCell(sheet6, 2, 20, spotReportS3.getTunnelspot().getCountF500());
		sheet6 = helper.addCell(sheet6, 3, 20, spotReportS3.getTunnelspot().getPassF500());
		
		sheet6 = helper.addCell(sheet6, 5, 20, spotReportS3.getTunnelspot().getCountF501());
		sheet6 = helper.addCell(sheet6, 6, 20, spotReportS3.getTunnelspot().getCountF501());
		
		sheet6 = helper.addCell(sheet6, 8, 20, spotReportS3.getTunnelspot().getCountF502());
		sheet6 = helper.addCell(sheet6, 9, 20, spotReportS3.getTunnelspot().getCountF502());
		
		sheet6 = helper.addCell(sheet6, 11, 20, spotReportS3.getTunnelspot().getCountF503());
		sheet6 = helper.addCell(sheet6, 12, 20, spotReportS3.getTunnelspot().getCountF503());
		
		sheet6 = helper.addCell(sheet6, 14, 20, spotReportS3.getTunnelspot().getCountF504());
		sheet6 = helper.addCell(sheet6, 15, 20, spotReportS3.getTunnelspot().getCountF504());
		
		}
		
		if(spotReportT1.getTunnelspot() != null){
		/*县道、乡道、村道高速公路*/
		sheet6 = helper.addCell(sheet6, 2, 22, spotReportT0.getTunnelspot().getCountF500());
		sheet6 = helper.addCell(sheet6, 3, 22, spotReportT0.getTunnelspot().getPassF500());
		
		sheet6 = helper.addCell(sheet6, 5, 22, spotReportT0.getTunnelspot().getCountF501());
		sheet6 = helper.addCell(sheet6, 6, 22, spotReportT0.getTunnelspot().getCountF501());
		
		sheet6 = helper.addCell(sheet6, 8, 22, spotReportT0.getTunnelspot().getCountF502());
		sheet6 = helper.addCell(sheet6, 9, 22, spotReportT0.getTunnelspot().getCountF502());
		
		sheet6 = helper.addCell(sheet6, 11, 22, spotReportT0.getTunnelspot().getCountF503());
		sheet6 = helper.addCell(sheet6, 12, 22, spotReportT0.getTunnelspot().getCountF503());
		
		sheet6 = helper.addCell(sheet6, 14, 22, spotReportT0.getTunnelspot().getCountF504());
		sheet6 = helper.addCell(sheet6, 15, 22, spotReportT0.getTunnelspot().getCountF504());
		
		}
		
		if(spotReportG0.getTunnelspot() != null){
		/*县道、乡道、村道一级公路*/
		sheet6 = helper.addCell(sheet6, 2, 23, spotReportT1.getTunnelspot().getCountF500());
		sheet6 = helper.addCell(sheet6, 3, 23, spotReportT1.getTunnelspot().getPassF500());
		
		sheet6 = helper.addCell(sheet6, 5, 23, spotReportT1.getTunnelspot().getCountF501());
		sheet6 = helper.addCell(sheet6, 6, 23, spotReportT1.getTunnelspot().getCountF501());
		
		sheet6 = helper.addCell(sheet6, 8, 23, spotReportT1.getTunnelspot().getCountF502());
		sheet6 = helper.addCell(sheet6, 9, 23, spotReportT1.getTunnelspot().getCountF502());
		
		sheet6 = helper.addCell(sheet6, 11, 23, spotReportT1.getTunnelspot().getCountF503());
		sheet6 = helper.addCell(sheet6, 12, 23, spotReportT1.getTunnelspot().getCountF503());
		
		sheet6 = helper.addCell(sheet6, 14, 23, spotReportT1.getTunnelspot().getCountF504());
		sheet6 = helper.addCell(sheet6, 15, 23, spotReportT1.getTunnelspot().getCountF504());
		
		}
		
		if(spotReportT2.getTunnelspot() != null){
		/*县道、乡道、村道二级公路   */
		sheet6 = helper.addCell(sheet6, 2, 24, spotReportT2.getTunnelspot().getCountF500());
		sheet6 = helper.addCell(sheet6, 3, 24, spotReportT2.getTunnelspot().getPassF500());
		
		sheet6 = helper.addCell(sheet6, 5, 24, spotReportT2.getTunnelspot().getCountF501());
		sheet6 = helper.addCell(sheet6, 6, 24, spotReportT2.getTunnelspot().getCountF501());
		
		sheet6 = helper.addCell(sheet6, 8, 24, spotReportT2.getTunnelspot().getCountF502());
		sheet6 = helper.addCell(sheet6, 9, 24, spotReportT2.getTunnelspot().getCountF502());
		
		sheet6 = helper.addCell(sheet6, 11, 24, spotReportT2.getTunnelspot().getCountF503());
		sheet6 = helper.addCell(sheet6, 12, 24, spotReportT2.getTunnelspot().getCountF503());
		
		sheet6 = helper.addCell(sheet6, 14, 24, spotReportT2.getTunnelspot().getCountF504());
		sheet6 = helper.addCell(sheet6, 15, 24, spotReportT2.getTunnelspot().getCountF504());
		
		}
		
		if(spotReportT3.getTunnelspot() != null){
		/*县道、乡道、村道三级及以下公路*/
		sheet6 = helper.addCell(sheet6, 2, 25, spotReportT3.getTunnelspot().getCountF500());
		sheet6 = helper.addCell(sheet6, 3, 25, spotReportT3.getTunnelspot().getPassF500());
		
		sheet6 = helper.addCell(sheet6, 5, 25, spotReportT3.getTunnelspot().getCountF501());
		sheet6 = helper.addCell(sheet6, 6, 25, spotReportT3.getTunnelspot().getCountF501());
		
		sheet6 = helper.addCell(sheet6, 8, 25, spotReportT3.getTunnelspot().getCountF502());
		sheet6 = helper.addCell(sheet6, 9, 25, spotReportT3.getTunnelspot().getCountF502());
		
		sheet6 = helper.addCell(sheet6, 11, 25, spotReportT3.getTunnelspot().getCountF503());
		sheet6 = helper.addCell(sheet6, 12, 25, spotReportT3.getTunnelspot().getCountF503());
		
		sheet6 = helper.addCell(sheet6, 14, 25, spotReportT3.getTunnelspot().getCountF504());
		sheet6 = helper.addCell(sheet6, 15, 25, spotReportT3.getTunnelspot().getCountF504());
		
		}
		
		WritableSheet sheet7 = sheets[7];
		if(spotReportG0.getSafetyspot() != null){
		/*国道高速公路*/
		sheet7 = helper.addCell(sheet7, 2, 12, spotReportG0.getSafetyspot().getCountF600());
		sheet7 = helper.addCell(sheet7, 3, 12, spotReportG0.getSafetyspot().getPassF600());
		
		sheet7 = helper.addCell(sheet7, 5, 12, spotReportG0.getSafetyspot().getCountF601());
		sheet7 = helper.addCell(sheet7, 6, 12, spotReportG0.getSafetyspot().getCountF601());
		
		sheet7 = helper.addCell(sheet7, 8, 12, spotReportG0.getSafetyspot().getCountF602());
		sheet7 = helper.addCell(sheet7, 9, 12, spotReportG0.getSafetyspot().getCountF602());
		
		sheet7 = helper.addCell(sheet7, 11, 12, spotReportG0.getSafetyspot().getCountF603());
		sheet7 = helper.addCell(sheet7, 12, 12, spotReportG0.getSafetyspot().getCountF603());
		
		sheet7 = helper.addCell(sheet7, 14, 12, spotReportG0.getSafetyspot().getCountF604());
		sheet7 = helper.addCell(sheet7, 15, 12, spotReportG0.getSafetyspot().getCountF604());
		
		sheet7 = helper.addCell(sheet7, 17, 12, spotReportG0.getSafetyspot().getCountF605());
		sheet7 = helper.addCell(sheet7, 18, 12, spotReportG0.getSafetyspot().getCountF605());
		
		sheet7 = helper.addCell(sheet7, 20, 12, spotReportG0.getSafetyspot().getCountF606());
		sheet7 = helper.addCell(sheet7, 21, 12, spotReportG0.getSafetyspot().getCountF606());
		
		sheet7 = helper.addCell(sheet7, 23, 12, spotReportG0.getSafetyspot().getCountF607());
		sheet7 = helper.addCell(sheet7, 24, 12, spotReportG0.getSafetyspot().getCountF607());
		
		sheet7 = helper.addCell(sheet7, 26, 12, spotReportG0.getSafetyspot().getCountF608());
		sheet7 = helper.addCell(sheet7, 27, 12, spotReportG0.getSafetyspot().getCountF608());
		
		sheet7 = helper.addCell(sheet7, 29, 12, spotReportG0.getSafetyspot().getCountF609());
		sheet7 = helper.addCell(sheet7, 30, 12, spotReportG0.getSafetyspot().getCountF609());
		
		sheet7 = helper.addCell(sheet7, 32, 12, spotReportG0.getSafetyspot().getCountF610());
		sheet7 = helper.addCell(sheet7, 33, 12, spotReportG0.getSafetyspot().getCountF610());
		}
		
		if(spotReportG1.getSafetyspot() != null){
		/*国道一级公路*/
		sheet7 = helper.addCell(sheet7, 2, 13, spotReportG1.getSafetyspot().getCountF600());
		sheet7 = helper.addCell(sheet7, 3, 13, spotReportG1.getSafetyspot().getPassF600());
		
		sheet7 = helper.addCell(sheet7, 5, 13, spotReportG1.getSafetyspot().getCountF601());
		sheet7 = helper.addCell(sheet7, 6, 13, spotReportG1.getSafetyspot().getCountF601());
		
		sheet7 = helper.addCell(sheet7, 8, 13, spotReportG1.getSafetyspot().getCountF602());
		sheet7 = helper.addCell(sheet7, 9, 13, spotReportG1.getSafetyspot().getCountF602());
		
		sheet7 = helper.addCell(sheet7, 11, 13, spotReportG1.getSafetyspot().getCountF603());
		sheet7 = helper.addCell(sheet7, 12, 13, spotReportG1.getSafetyspot().getCountF603());
		
		sheet7 = helper.addCell(sheet7, 14, 13, spotReportG1.getSafetyspot().getCountF604());
		sheet7 = helper.addCell(sheet7, 15, 13, spotReportG1.getSafetyspot().getCountF604());
		
		sheet7 = helper.addCell(sheet7, 17, 13, spotReportG1.getSafetyspot().getCountF605());
		sheet7 = helper.addCell(sheet7, 18, 13, spotReportG1.getSafetyspot().getCountF605());
		
		sheet7 = helper.addCell(sheet7, 20, 13, spotReportG1.getSafetyspot().getCountF606());
		sheet7 = helper.addCell(sheet7, 21, 13, spotReportG1.getSafetyspot().getCountF606());
		
		sheet7 = helper.addCell(sheet7, 23, 13, spotReportG1.getSafetyspot().getCountF607());
		sheet7 = helper.addCell(sheet7, 24, 13, spotReportG1.getSafetyspot().getCountF607());
		
		sheet7 = helper.addCell(sheet7, 26, 13, spotReportG1.getSafetyspot().getCountF608());
		sheet7 = helper.addCell(sheet7, 27, 13, spotReportG1.getSafetyspot().getCountF608());
		
		sheet7 = helper.addCell(sheet7, 29, 13, spotReportG1.getSafetyspot().getCountF609());
		sheet7 = helper.addCell(sheet7, 30, 13, spotReportG1.getSafetyspot().getCountF609());
		
		sheet7 = helper.addCell(sheet7, 32, 13, spotReportG1.getSafetyspot().getCountF610());
		sheet7 = helper.addCell(sheet7, 33, 13, spotReportG1.getSafetyspot().getCountF610());
		}
		
		if(spotReportG2.getSafetyspot() != null){
		/*国道二级公路*/
		sheet7 = helper.addCell(sheet7, 2, 14, spotReportG2.getSafetyspot().getCountF600());
		sheet7 = helper.addCell(sheet7, 3, 14, spotReportG2.getSafetyspot().getPassF600());
		
		sheet7 = helper.addCell(sheet7, 5, 14, spotReportG2.getSafetyspot().getCountF601());
		sheet7 = helper.addCell(sheet7, 6, 14, spotReportG2.getSafetyspot().getCountF601());
		
		sheet7 = helper.addCell(sheet7, 8, 14, spotReportG2.getSafetyspot().getCountF602());
		sheet7 = helper.addCell(sheet7, 9, 14, spotReportG2.getSafetyspot().getCountF602());
		
		sheet7 = helper.addCell(sheet7, 11, 14, spotReportG2.getSafetyspot().getCountF603());
		sheet7 = helper.addCell(sheet7, 12, 14, spotReportG2.getSafetyspot().getCountF603());
		
		sheet7 = helper.addCell(sheet7, 14, 14, spotReportG2.getSafetyspot().getCountF604());
		sheet7 = helper.addCell(sheet7, 15, 14, spotReportG2.getSafetyspot().getCountF604());
		
		sheet7 = helper.addCell(sheet7, 17, 14, spotReportG2.getSafetyspot().getCountF605());
		sheet7 = helper.addCell(sheet7, 18, 14, spotReportG2.getSafetyspot().getCountF605());
		
		sheet7 = helper.addCell(sheet7, 20, 14, spotReportG2.getSafetyspot().getCountF606());
		sheet7 = helper.addCell(sheet7, 21, 14, spotReportG2.getSafetyspot().getCountF606());
		
		sheet7 = helper.addCell(sheet7, 23, 14, spotReportG2.getSafetyspot().getCountF607());
		sheet7 = helper.addCell(sheet7, 24, 14, spotReportG2.getSafetyspot().getCountF607());
		
		sheet7 = helper.addCell(sheet7, 26, 14, spotReportG2.getSafetyspot().getCountF608());
		sheet7 = helper.addCell(sheet7, 27, 14, spotReportG2.getSafetyspot().getCountF608());
		
		sheet7 = helper.addCell(sheet7, 29, 14, spotReportG2.getSafetyspot().getCountF609());
		sheet7 = helper.addCell(sheet7, 30, 14, spotReportG2.getSafetyspot().getCountF609());
		
		sheet7 = helper.addCell(sheet7, 32, 14, spotReportG2.getSafetyspot().getCountF610());
		sheet7 = helper.addCell(sheet7, 33, 14, spotReportG2.getSafetyspot().getCountF610());
		}
		
		if(spotReportG3.getSafetyspot() != null){
		/*国道三级及以下公路*/
		sheet7 = helper.addCell(sheet7, 2, 15, spotReportG3.getSafetyspot().getCountF600());
		sheet7 = helper.addCell(sheet7, 3, 15, spotReportG3.getSafetyspot().getPassF600());
		
		sheet7 = helper.addCell(sheet7, 5, 15, spotReportG3.getSafetyspot().getCountF601());
		sheet7 = helper.addCell(sheet7, 6, 15, spotReportG3.getSafetyspot().getCountF601());
		
		sheet7 = helper.addCell(sheet7, 8, 15, spotReportG3.getSafetyspot().getCountF602());
		sheet7 = helper.addCell(sheet7, 9, 15, spotReportG3.getSafetyspot().getCountF602());
		
		sheet7 = helper.addCell(sheet7, 11, 15, spotReportG3.getSafetyspot().getCountF603());
		sheet7 = helper.addCell(sheet7, 12, 15, spotReportG3.getSafetyspot().getCountF603());
		
		sheet7 = helper.addCell(sheet7, 14, 15, spotReportG3.getSafetyspot().getCountF604());
		sheet7 = helper.addCell(sheet7, 15, 15, spotReportG3.getSafetyspot().getCountF604());
		
		sheet7 = helper.addCell(sheet7, 17, 15, spotReportG3.getSafetyspot().getCountF605());
		sheet7 = helper.addCell(sheet7, 18, 15, spotReportG3.getSafetyspot().getCountF605());
		
		sheet7 = helper.addCell(sheet7, 20, 15, spotReportG3.getSafetyspot().getCountF606());
		sheet7 = helper.addCell(sheet7, 21, 15, spotReportG3.getSafetyspot().getCountF606());
		
		sheet7 = helper.addCell(sheet7, 23, 15, spotReportG3.getSafetyspot().getCountF607());
		sheet7 = helper.addCell(sheet7, 24, 15, spotReportG3.getSafetyspot().getCountF607());
		
		sheet7 = helper.addCell(sheet7, 26, 15, spotReportG3.getSafetyspot().getCountF608());
		sheet7 = helper.addCell(sheet7, 27, 15, spotReportG3.getSafetyspot().getCountF608());
		
		sheet7 = helper.addCell(sheet7, 29, 15, spotReportG3.getSafetyspot().getCountF609());
		sheet7 = helper.addCell(sheet7, 30, 15, spotReportG3.getSafetyspot().getCountF609());
		
		sheet7 = helper.addCell(sheet7, 32, 15, spotReportG3.getSafetyspot().getCountF610());
		sheet7 = helper.addCell(sheet7, 33, 15, spotReportG3.getSafetyspot().getCountF610());
		
		}
		
		
		if(spotReportS0.getSafetyspot() != null){
		/*省道高速公路*/
		sheet7 = helper.addCell(sheet7, 2, 17, spotReportS0.getSafetyspot().getCountF600());
		sheet7 = helper.addCell(sheet7, 3, 17, spotReportS0.getSafetyspot().getPassF600());
		
		sheet7 = helper.addCell(sheet7, 5, 17, spotReportS0.getSafetyspot().getCountF601());
		sheet7 = helper.addCell(sheet7, 6, 17, spotReportS0.getSafetyspot().getCountF601());
		
		sheet7 = helper.addCell(sheet7, 8, 17, spotReportS0.getSafetyspot().getCountF602());
		sheet7 = helper.addCell(sheet7, 9, 17, spotReportS0.getSafetyspot().getCountF602());
		
		sheet7 = helper.addCell(sheet7, 11, 17, spotReportS0.getSafetyspot().getCountF603());
		sheet7 = helper.addCell(sheet7, 12, 17, spotReportS0.getSafetyspot().getCountF603());
		
		sheet7 = helper.addCell(sheet7, 14, 17, spotReportS0.getSafetyspot().getCountF604());
		sheet7 = helper.addCell(sheet7, 15, 17, spotReportS0.getSafetyspot().getCountF604());
		
		sheet7 = helper.addCell(sheet7, 17, 17, spotReportS0.getSafetyspot().getCountF605());
		sheet7 = helper.addCell(sheet7, 18, 17, spotReportS0.getSafetyspot().getCountF605());
		
		sheet7 = helper.addCell(sheet7, 20, 17, spotReportS0.getSafetyspot().getCountF606());
		sheet7 = helper.addCell(sheet7, 21, 17, spotReportS0.getSafetyspot().getCountF606());
		
		sheet7 = helper.addCell(sheet7, 23, 17, spotReportS0.getSafetyspot().getCountF607());
		sheet7 = helper.addCell(sheet7, 24, 17, spotReportS0.getSafetyspot().getCountF607());
		
		sheet7 = helper.addCell(sheet7, 26, 17, spotReportS0.getSafetyspot().getCountF608());
		sheet7 = helper.addCell(sheet7, 27, 17, spotReportS0.getSafetyspot().getCountF608());
		
		sheet7 = helper.addCell(sheet7, 29, 17, spotReportS0.getSafetyspot().getCountF609());
		sheet7 = helper.addCell(sheet7, 30, 17, spotReportS0.getSafetyspot().getCountF609());
		
		sheet7 = helper.addCell(sheet7, 32, 17, spotReportS0.getSafetyspot().getCountF610());
		sheet7 = helper.addCell(sheet7, 33, 17, spotReportS0.getSafetyspot().getCountF610());
		}
		
		if(spotReportS1.getSafetyspot() != null){
		/*省道一级公路*/
		sheet7 = helper.addCell(sheet7, 2, 18, spotReportS1.getSafetyspot().getCountF600());
		sheet7 = helper.addCell(sheet7, 3, 18, spotReportS1.getSafetyspot().getPassF600());
		
		sheet7 = helper.addCell(sheet7, 5, 18, spotReportS1.getSafetyspot().getCountF601());
		sheet7 = helper.addCell(sheet7, 6, 18, spotReportS1.getSafetyspot().getCountF601());
		
		sheet7 = helper.addCell(sheet7, 8, 18, spotReportS1.getSafetyspot().getCountF602());
		sheet7 = helper.addCell(sheet7, 9, 18, spotReportS1.getSafetyspot().getCountF602());
		
		sheet7 = helper.addCell(sheet7, 11, 18, spotReportS1.getSafetyspot().getCountF603());
		sheet7 = helper.addCell(sheet7, 12, 18, spotReportS1.getSafetyspot().getCountF603());
		
		sheet7 = helper.addCell(sheet7, 14, 18, spotReportS1.getSafetyspot().getCountF604());
		sheet7 = helper.addCell(sheet7, 15, 18, spotReportS1.getSafetyspot().getCountF604());
		
		sheet7 = helper.addCell(sheet7, 17, 18, spotReportS1.getSafetyspot().getCountF605());
		sheet7 = helper.addCell(sheet7, 18, 18, spotReportS1.getSafetyspot().getCountF605());
		
		sheet7 = helper.addCell(sheet7, 20, 18, spotReportS1.getSafetyspot().getCountF606());
		sheet7 = helper.addCell(sheet7, 21, 18, spotReportS1.getSafetyspot().getCountF606());
		
		sheet7 = helper.addCell(sheet7, 23, 18, spotReportS1.getSafetyspot().getCountF607());
		sheet7 = helper.addCell(sheet7, 24, 18, spotReportS1.getSafetyspot().getCountF607());
		
		sheet7 = helper.addCell(sheet7, 26, 18, spotReportS1.getSafetyspot().getCountF608());
		sheet7 = helper.addCell(sheet7, 27, 18, spotReportS1.getSafetyspot().getCountF608());
		
		sheet7 = helper.addCell(sheet7, 29, 18, spotReportS1.getSafetyspot().getCountF609());
		sheet7 = helper.addCell(sheet7, 30, 18, spotReportS1.getSafetyspot().getCountF609());
		
		sheet7 = helper.addCell(sheet7, 32, 18, spotReportS1.getSafetyspot().getCountF610());
		sheet7 = helper.addCell(sheet7, 33, 18, spotReportS1.getSafetyspot().getCountF610());
		}
		
		if(spotReportS2.getSafetyspot() != null){
		/*省道二级公路*/
		sheet7 = helper.addCell(sheet7, 2, 19, spotReportS2.getSafetyspot().getCountF600());
		sheet7 = helper.addCell(sheet7, 3, 19, spotReportS2.getSafetyspot().getPassF600());
		
		sheet7 = helper.addCell(sheet7, 5, 19, spotReportS2.getSafetyspot().getCountF601());
		sheet7 = helper.addCell(sheet7, 6, 19, spotReportS2.getSafetyspot().getCountF601());
		
		sheet7 = helper.addCell(sheet7, 8, 19, spotReportS2.getSafetyspot().getCountF602());
		sheet7 = helper.addCell(sheet7, 9, 19, spotReportS2.getSafetyspot().getCountF602());
		
		sheet7 = helper.addCell(sheet7, 11, 19, spotReportS2.getSafetyspot().getCountF603());
		sheet7 = helper.addCell(sheet7, 12, 19, spotReportS2.getSafetyspot().getCountF603());
		
		sheet7 = helper.addCell(sheet7, 14, 19, spotReportS2.getSafetyspot().getCountF604());
		sheet7 = helper.addCell(sheet7, 15, 19, spotReportS2.getSafetyspot().getCountF604());
		
		sheet7 = helper.addCell(sheet7, 17, 19, spotReportS2.getSafetyspot().getCountF605());
		sheet7 = helper.addCell(sheet7, 18, 19, spotReportS2.getSafetyspot().getCountF605());
		
		sheet7 = helper.addCell(sheet7, 20, 19, spotReportS2.getSafetyspot().getCountF606());
		sheet7 = helper.addCell(sheet7, 21, 19, spotReportS2.getSafetyspot().getCountF606());
		
		sheet7 = helper.addCell(sheet7, 23, 19, spotReportS2.getSafetyspot().getCountF607());
		sheet7 = helper.addCell(sheet7, 24, 19, spotReportS2.getSafetyspot().getCountF607());
		
		sheet7 = helper.addCell(sheet7, 26, 19, spotReportS2.getSafetyspot().getCountF608());
		sheet7 = helper.addCell(sheet7, 27, 19, spotReportS2.getSafetyspot().getCountF608());
		
		sheet7 = helper.addCell(sheet7, 29, 19, spotReportS2.getSafetyspot().getCountF609());
		sheet7 = helper.addCell(sheet7, 30, 19, spotReportS2.getSafetyspot().getCountF609());
		
		sheet7 = helper.addCell(sheet7, 32, 19, spotReportS2.getSafetyspot().getCountF610());
		sheet7 = helper.addCell(sheet7, 33, 19, spotReportS2.getSafetyspot().getCountF610());
		}
		
		
		if(spotReportS3.getSafetyspot() != null){
		/*省道三级及以下公路*/
		sheet7 = helper.addCell(sheet7, 2, 20, spotReportS3.getSafetyspot().getCountF600());
		sheet7 = helper.addCell(sheet7, 3, 20, spotReportS3.getSafetyspot().getPassF600());
		
		sheet7 = helper.addCell(sheet7, 5, 20, spotReportS3.getSafetyspot().getCountF601());
		sheet7 = helper.addCell(sheet7, 6, 20, spotReportS3.getSafetyspot().getCountF601());
		
		sheet7 = helper.addCell(sheet7, 8, 20, spotReportS3.getSafetyspot().getCountF602());
		sheet7 = helper.addCell(sheet7, 9, 20, spotReportS3.getSafetyspot().getCountF602());
		
		sheet7 = helper.addCell(sheet7, 11, 20, spotReportS3.getSafetyspot().getCountF603());
		sheet7 = helper.addCell(sheet7, 12, 20, spotReportS3.getSafetyspot().getCountF603());
		
		sheet7 = helper.addCell(sheet7, 14, 20, spotReportS3.getSafetyspot().getCountF604());
		sheet7 = helper.addCell(sheet7, 15, 20, spotReportS3.getSafetyspot().getCountF604());
		
		sheet7 = helper.addCell(sheet7, 17, 20, spotReportS3.getSafetyspot().getCountF605());
		sheet7 = helper.addCell(sheet7, 18, 20, spotReportS3.getSafetyspot().getCountF605());
		
		sheet7 = helper.addCell(sheet7, 20, 20, spotReportS3.getSafetyspot().getCountF606());
		sheet7 = helper.addCell(sheet7, 21, 20, spotReportS3.getSafetyspot().getCountF606());
		
		sheet7 = helper.addCell(sheet7, 23, 20, spotReportS3.getSafetyspot().getCountF607());
		sheet7 = helper.addCell(sheet7, 24, 20, spotReportS3.getSafetyspot().getCountF607());
		
		sheet7 = helper.addCell(sheet7, 26, 20, spotReportS3.getSafetyspot().getCountF608());
		sheet7 = helper.addCell(sheet7, 27, 20, spotReportS3.getSafetyspot().getCountF608());
		
		sheet7 = helper.addCell(sheet7, 29, 20, spotReportS3.getSafetyspot().getCountF609());
		sheet7 = helper.addCell(sheet7, 30, 20, spotReportS3.getSafetyspot().getCountF609());
		
		sheet7 = helper.addCell(sheet7, 32, 20, spotReportS3.getSafetyspot().getCountF610());
		sheet7 = helper.addCell(sheet7, 33, 20, spotReportS3.getSafetyspot().getCountF610());
		}
		
		if(spotReportT1.getSafetyspot() != null){
		/*县道、乡道、村道高速公路*/
		sheet7 = helper.addCell(sheet7, 2, 22, spotReportT0.getSafetyspot().getCountF600());
		sheet7 = helper.addCell(sheet7, 3, 22, spotReportT0.getSafetyspot().getPassF600());
		
		sheet7 = helper.addCell(sheet7, 5, 22, spotReportT0.getSafetyspot().getCountF601());
		sheet7 = helper.addCell(sheet7, 6, 22, spotReportT0.getSafetyspot().getCountF601());
		
		sheet7 = helper.addCell(sheet7, 8, 22, spotReportT0.getSafetyspot().getCountF602());
		sheet7 = helper.addCell(sheet7, 9, 22, spotReportT0.getSafetyspot().getCountF602());
		
		sheet7 = helper.addCell(sheet7, 11, 22, spotReportT0.getSafetyspot().getCountF603());
		sheet7 = helper.addCell(sheet7, 12, 22, spotReportT0.getSafetyspot().getCountF603());
		
		sheet7 = helper.addCell(sheet7, 14, 22, spotReportT0.getSafetyspot().getCountF604());
		sheet7 = helper.addCell(sheet7, 15, 22, spotReportT0.getSafetyspot().getCountF604());
		
		sheet7 = helper.addCell(sheet7, 17, 22, spotReportT0.getSafetyspot().getCountF605());
		sheet7 = helper.addCell(sheet7, 18, 22, spotReportT0.getSafetyspot().getCountF605());
		
		sheet7 = helper.addCell(sheet7, 20, 22, spotReportT0.getSafetyspot().getCountF606());
		sheet7 = helper.addCell(sheet7, 21, 22, spotReportT0.getSafetyspot().getCountF606());
		
		sheet7 = helper.addCell(sheet7, 23, 22, spotReportT0.getSafetyspot().getCountF607());
		sheet7 = helper.addCell(sheet7, 24, 22, spotReportT0.getSafetyspot().getCountF607());
		
		sheet7 = helper.addCell(sheet7, 26, 22, spotReportT0.getSafetyspot().getCountF608());
		sheet7 = helper.addCell(sheet7, 27, 22, spotReportT0.getSafetyspot().getCountF608());
		
		sheet7 = helper.addCell(sheet7, 29, 22, spotReportT0.getSafetyspot().getCountF609());
		sheet7 = helper.addCell(sheet7, 30, 22, spotReportT0.getSafetyspot().getCountF609());
		
		sheet7 = helper.addCell(sheet7, 32, 22, spotReportT0.getSafetyspot().getCountF610());
		sheet7 = helper.addCell(sheet7, 33, 22, spotReportT0.getSafetyspot().getCountF610());
		}
		
		if(spotReportG0.getSafetyspot() != null){
		/*县道、乡道、村道一级公路*/
		sheet7 = helper.addCell(sheet7, 2, 23, spotReportT1.getSafetyspot().getCountF600());
		sheet7 = helper.addCell(sheet7, 3, 23, spotReportT1.getSafetyspot().getPassF600());
		
		sheet7 = helper.addCell(sheet7, 5, 23, spotReportT1.getSafetyspot().getCountF601());
		sheet7 = helper.addCell(sheet7, 6, 23, spotReportT1.getSafetyspot().getCountF601());
		
		sheet7 = helper.addCell(sheet7, 8, 23, spotReportT1.getSafetyspot().getCountF602());
		sheet7 = helper.addCell(sheet7, 9, 23, spotReportT1.getSafetyspot().getCountF602());
		
		sheet7 = helper.addCell(sheet7, 11, 23, spotReportT1.getSafetyspot().getCountF603());
		sheet7 = helper.addCell(sheet7, 12, 23, spotReportT1.getSafetyspot().getCountF603());
		
		sheet7 = helper.addCell(sheet7, 14, 23, spotReportT1.getSafetyspot().getCountF604());
		sheet7 = helper.addCell(sheet7, 15, 23, spotReportT1.getSafetyspot().getCountF604());
		
		sheet7 = helper.addCell(sheet7, 17, 23, spotReportT1.getSafetyspot().getCountF605());
		sheet7 = helper.addCell(sheet7, 18, 23, spotReportT1.getSafetyspot().getCountF605());
		
		sheet7 = helper.addCell(sheet7, 20, 23, spotReportT1.getSafetyspot().getCountF606());
		sheet7 = helper.addCell(sheet7, 21, 23, spotReportT1.getSafetyspot().getCountF606());
		
		sheet7 = helper.addCell(sheet7, 23, 23, spotReportT1.getSafetyspot().getCountF607());
		sheet7 = helper.addCell(sheet7, 24, 23, spotReportT1.getSafetyspot().getCountF607());
		
		sheet7 = helper.addCell(sheet7, 26, 23, spotReportT1.getSafetyspot().getCountF608());
		sheet7 = helper.addCell(sheet7, 27, 23, spotReportT1.getSafetyspot().getCountF608());
		
		sheet7 = helper.addCell(sheet7, 29, 23, spotReportT1.getSafetyspot().getCountF609());
		sheet7 = helper.addCell(sheet7, 30, 23, spotReportT1.getSafetyspot().getCountF609());
		
		sheet7 = helper.addCell(sheet7, 32, 23, spotReportT1.getSafetyspot().getCountF610());
		sheet7 = helper.addCell(sheet7, 33, 23, spotReportT1.getSafetyspot().getCountF610());
		}
		
		if(spotReportT2.getSafetyspot() != null){
		/*县道、乡道、村道二级公路   */
		sheet7 = helper.addCell(sheet7, 2, 24, spotReportT2.getSafetyspot().getCountF600());
		sheet7 = helper.addCell(sheet7, 3, 24, spotReportT2.getSafetyspot().getPassF600());
		
		sheet7 = helper.addCell(sheet7, 5, 24, spotReportT2.getSafetyspot().getCountF601());
		sheet7 = helper.addCell(sheet7, 6, 24, spotReportT2.getSafetyspot().getCountF601());
		
		sheet7 = helper.addCell(sheet7, 8, 24, spotReportT2.getSafetyspot().getCountF602());
		sheet7 = helper.addCell(sheet7, 9, 24, spotReportT2.getSafetyspot().getCountF602());
		
		sheet7 = helper.addCell(sheet7, 11, 24, spotReportT2.getSafetyspot().getCountF603());
		sheet7 = helper.addCell(sheet7, 12, 24, spotReportT2.getSafetyspot().getCountF603());
		
		sheet7 = helper.addCell(sheet7, 14, 24, spotReportT2.getSafetyspot().getCountF604());
		sheet7 = helper.addCell(sheet7, 15, 24, spotReportT2.getSafetyspot().getCountF604());
		
		sheet7 = helper.addCell(sheet7, 17, 24, spotReportT2.getSafetyspot().getCountF605());
		sheet7 = helper.addCell(sheet7, 18, 24, spotReportT2.getSafetyspot().getCountF605());
		
		sheet7 = helper.addCell(sheet7, 20, 24, spotReportT2.getSafetyspot().getCountF606());
		sheet7 = helper.addCell(sheet7, 21, 24, spotReportT2.getSafetyspot().getCountF606());
		
		sheet7 = helper.addCell(sheet7, 23, 24, spotReportT2.getSafetyspot().getCountF607());
		sheet7 = helper.addCell(sheet7, 24, 24, spotReportT2.getSafetyspot().getCountF607());
		
		sheet7 = helper.addCell(sheet7, 26, 24, spotReportT2.getSafetyspot().getCountF608());
		sheet7 = helper.addCell(sheet7, 27, 24, spotReportT2.getSafetyspot().getCountF608());
		
		sheet7 = helper.addCell(sheet7, 29, 24, spotReportT2.getSafetyspot().getCountF609());
		sheet7 = helper.addCell(sheet7, 30, 24, spotReportT2.getSafetyspot().getCountF609());
		
		sheet7 = helper.addCell(sheet7, 32, 24, spotReportT2.getSafetyspot().getCountF610());
		sheet7 = helper.addCell(sheet7, 33, 24, spotReportT2.getSafetyspot().getCountF610());
		}
		
		if(spotReportT3.getSafetyspot() != null){
		/*县道、乡道、村道三级及以下公路*/
		sheet7 = helper.addCell(sheet7, 2, 25, spotReportT3.getSafetyspot().getCountF600());
		sheet7 = helper.addCell(sheet7, 3, 25, spotReportT3.getSafetyspot().getPassF600());
		
		sheet7 = helper.addCell(sheet7, 5, 25, spotReportT3.getSafetyspot().getCountF601());
		sheet7 = helper.addCell(sheet7, 6, 25, spotReportT3.getSafetyspot().getCountF601());
		
		sheet7 = helper.addCell(sheet7, 8, 25, spotReportT3.getSafetyspot().getCountF602());
		sheet7 = helper.addCell(sheet7, 9, 25, spotReportT3.getSafetyspot().getCountF602());
		
		sheet7 = helper.addCell(sheet7, 11, 25, spotReportT3.getSafetyspot().getCountF603());
		sheet7 = helper.addCell(sheet7, 12, 25, spotReportT3.getSafetyspot().getCountF603());
		
		sheet7 = helper.addCell(sheet7, 14, 25, spotReportT3.getSafetyspot().getCountF604());
		sheet7 = helper.addCell(sheet7, 15, 25, spotReportT3.getSafetyspot().getCountF604());
		
		sheet7 = helper.addCell(sheet7, 17, 25, spotReportT3.getSafetyspot().getCountF605());
		sheet7 = helper.addCell(sheet7, 18, 25, spotReportT3.getSafetyspot().getCountF605());
		
		sheet7 = helper.addCell(sheet7, 20, 25, spotReportT3.getSafetyspot().getCountF606());
		sheet7 = helper.addCell(sheet7, 21, 25, spotReportT3.getSafetyspot().getCountF606());
		
		sheet7 = helper.addCell(sheet7, 23, 25, spotReportT3.getSafetyspot().getCountF607());
		sheet7 = helper.addCell(sheet7, 24, 25, spotReportT3.getSafetyspot().getCountF607());
		
		sheet7 = helper.addCell(sheet7, 26, 25, spotReportT3.getSafetyspot().getCountF608());
		sheet7 = helper.addCell(sheet7, 27, 25, spotReportT3.getSafetyspot().getCountF608());
		
		sheet7 = helper.addCell(sheet7, 29, 25, spotReportT3.getSafetyspot().getCountF609());
		sheet7 = helper.addCell(sheet7, 30, 25, spotReportT3.getSafetyspot().getCountF609());
		
		sheet7 = helper.addCell(sheet7, 32, 25, spotReportT3.getSafetyspot().getCountF610());
		sheet7 = helper.addCell(sheet7, 33, 25, spotReportT3.getSafetyspot().getCountF610());
		}
		
		WritableSheet sheet8 = sheets[8];
		if(spotReportG0.getMaterialspot() != null){
		/*国道高速公路*/
		sheet8 = helper.addCell(sheet8, 2, 12, spotReportG0.getMaterialspot().getCountF900());
		sheet8 = helper.addCell(sheet8, 3, 12, spotReportG0.getMaterialspot().getPassF900());
		
		sheet8 = helper.addCell(sheet8, 5, 12, spotReportG0.getMaterialspot().getCountF901());
		sheet8 = helper.addCell(sheet8, 6, 12, spotReportG0.getMaterialspot().getCountF901());
		
		sheet8 = helper.addCell(sheet8, 8, 12, spotReportG0.getMaterialspot().getCountF902());
		sheet8 = helper.addCell(sheet8, 9, 12, spotReportG0.getMaterialspot().getCountF902());
		
		sheet8 = helper.addCell(sheet8, 11, 12, spotReportG0.getMaterialspot().getCountF903());
		sheet8 = helper.addCell(sheet8, 12, 12, spotReportG0.getMaterialspot().getCountF903());
		
		sheet8 = helper.addCell(sheet8, 14, 12, spotReportG0.getMaterialspot().getCountF904());
		sheet8 = helper.addCell(sheet8, 15, 12, spotReportG0.getMaterialspot().getCountF904());
		
		sheet8 = helper.addCell(sheet8, 17, 12, spotReportG0.getMaterialspot().getCountF905());
		sheet8 = helper.addCell(sheet8, 18, 12, spotReportG0.getMaterialspot().getCountF905());
		
		sheet8 = helper.addCell(sheet8, 20, 12, spotReportG0.getMaterialspot().getCountF906());
		sheet8 = helper.addCell(sheet8, 21, 12, spotReportG0.getMaterialspot().getCountF906());
		
		sheet8 = helper.addCell(sheet8, 23, 12, spotReportG0.getMaterialspot().getCountF907());
		sheet8 = helper.addCell(sheet8, 24, 12, spotReportG0.getMaterialspot().getCountF907());
		
		sheet8 = helper.addCell(sheet8, 26, 12, spotReportG0.getMaterialspot().getCountF908());
		sheet8 = helper.addCell(sheet8, 27, 12, spotReportG0.getMaterialspot().getCountF908());
		
		}
		
		if(spotReportG1.getMaterialspot() != null){
		/*国道一级公路*/
		sheet8 = helper.addCell(sheet8, 2, 13, spotReportG1.getMaterialspot().getCountF900());
		sheet8 = helper.addCell(sheet8, 3, 13, spotReportG1.getMaterialspot().getPassF900());
		
		sheet8 = helper.addCell(sheet8, 5, 13, spotReportG1.getMaterialspot().getCountF901());
		sheet8 = helper.addCell(sheet8, 6, 13, spotReportG1.getMaterialspot().getCountF901());
		
		sheet8 = helper.addCell(sheet8, 8, 13, spotReportG1.getMaterialspot().getCountF902());
		sheet8 = helper.addCell(sheet8, 9, 13, spotReportG1.getMaterialspot().getCountF902());
		
		sheet8 = helper.addCell(sheet8, 11, 13, spotReportG1.getMaterialspot().getCountF903());
		sheet8 = helper.addCell(sheet8, 12, 13, spotReportG1.getMaterialspot().getCountF903());
		
		sheet8 = helper.addCell(sheet8, 14, 13, spotReportG1.getMaterialspot().getCountF904());
		sheet8 = helper.addCell(sheet8, 15, 13, spotReportG1.getMaterialspot().getCountF904());
		
		sheet8 = helper.addCell(sheet8, 17, 13, spotReportG1.getMaterialspot().getCountF905());
		sheet8 = helper.addCell(sheet8, 18, 13, spotReportG1.getMaterialspot().getCountF905());
		
		sheet8 = helper.addCell(sheet8, 20, 13, spotReportG1.getMaterialspot().getCountF906());
		sheet8 = helper.addCell(sheet8, 21, 13, spotReportG1.getMaterialspot().getCountF906());
		
		sheet8 = helper.addCell(sheet8, 23, 13, spotReportG1.getMaterialspot().getCountF907());
		sheet8 = helper.addCell(sheet8, 24, 13, spotReportG1.getMaterialspot().getCountF907());
		
		sheet8 = helper.addCell(sheet8, 26, 13, spotReportG1.getMaterialspot().getCountF908());
		sheet8 = helper.addCell(sheet8, 27, 13, spotReportG1.getMaterialspot().getCountF908());
		
		}
		
		if(spotReportG2.getMaterialspot() != null){
		/*国道二级公路*/
		sheet8 = helper.addCell(sheet8, 2, 14, spotReportG2.getMaterialspot().getCountF900());
		sheet8 = helper.addCell(sheet8, 3, 14, spotReportG2.getMaterialspot().getPassF900());
		
		sheet8 = helper.addCell(sheet8, 5, 14, spotReportG2.getMaterialspot().getCountF901());
		sheet8 = helper.addCell(sheet8, 6, 14, spotReportG2.getMaterialspot().getCountF901());
		
		sheet8 = helper.addCell(sheet8, 8, 14, spotReportG2.getMaterialspot().getCountF902());
		sheet8 = helper.addCell(sheet8, 9, 14, spotReportG2.getMaterialspot().getCountF902());
		
		sheet8 = helper.addCell(sheet8, 11, 14, spotReportG2.getMaterialspot().getCountF903());
		sheet8 = helper.addCell(sheet8, 12, 14, spotReportG2.getMaterialspot().getCountF903());
		
		sheet8 = helper.addCell(sheet8, 14, 14, spotReportG2.getMaterialspot().getCountF904());
		sheet8 = helper.addCell(sheet8, 15, 14, spotReportG2.getMaterialspot().getCountF904());
		
		sheet8 = helper.addCell(sheet8, 17, 14, spotReportG2.getMaterialspot().getCountF905());
		sheet8 = helper.addCell(sheet8, 18, 14, spotReportG2.getMaterialspot().getCountF905());
		
		sheet8 = helper.addCell(sheet8, 20, 14, spotReportG2.getMaterialspot().getCountF906());
		sheet8 = helper.addCell(sheet8, 21, 14, spotReportG2.getMaterialspot().getCountF906());
		
		sheet8 = helper.addCell(sheet8, 23, 14, spotReportG2.getMaterialspot().getCountF907());
		sheet8 = helper.addCell(sheet8, 24, 14, spotReportG2.getMaterialspot().getCountF907());
		
		sheet8 = helper.addCell(sheet8, 26, 14, spotReportG2.getMaterialspot().getCountF908());
		sheet8 = helper.addCell(sheet8, 27, 14, spotReportG2.getMaterialspot().getCountF908());
		
		}
		
		if(spotReportG3.getMaterialspot() != null){
		/*国道三级及以下公路*/
		sheet8 = helper.addCell(sheet8, 2, 15, spotReportG3.getMaterialspot().getCountF900());
		sheet8 = helper.addCell(sheet8, 3, 15, spotReportG3.getMaterialspot().getPassF900());
		
		sheet8 = helper.addCell(sheet8, 5, 15, spotReportG3.getMaterialspot().getCountF901());
		sheet8 = helper.addCell(sheet8, 6, 15, spotReportG3.getMaterialspot().getCountF901());
		
		sheet8 = helper.addCell(sheet8, 8, 15, spotReportG3.getMaterialspot().getCountF902());
		sheet8 = helper.addCell(sheet8, 9, 15, spotReportG3.getMaterialspot().getCountF902());
		
		sheet8 = helper.addCell(sheet8, 11, 15, spotReportG3.getMaterialspot().getCountF903());
		sheet8 = helper.addCell(sheet8, 12, 15, spotReportG3.getMaterialspot().getCountF903());
		
		sheet8 = helper.addCell(sheet8, 14, 15, spotReportG3.getMaterialspot().getCountF904());
		sheet8 = helper.addCell(sheet8, 15, 15, spotReportG3.getMaterialspot().getCountF904());
		
		sheet8 = helper.addCell(sheet8, 17, 15, spotReportG3.getMaterialspot().getCountF905());
		sheet8 = helper.addCell(sheet8, 18, 15, spotReportG3.getMaterialspot().getCountF905());
		
		sheet8 = helper.addCell(sheet8, 20, 15, spotReportG3.getMaterialspot().getCountF906());
		sheet8 = helper.addCell(sheet8, 21, 15, spotReportG3.getMaterialspot().getCountF906());
		
		sheet8 = helper.addCell(sheet8, 23, 15, spotReportG3.getMaterialspot().getCountF907());
		sheet8 = helper.addCell(sheet8, 24, 15, spotReportG3.getMaterialspot().getCountF907());
		
		sheet8 = helper.addCell(sheet8, 26, 15, spotReportG3.getMaterialspot().getCountF908());
		sheet8 = helper.addCell(sheet8, 27, 15, spotReportG3.getMaterialspot().getCountF908());
		
		}
		
		
		if(spotReportS0.getMaterialspot() != null){
		/*省道高速公路*/
		sheet8 = helper.addCell(sheet8, 2, 17, spotReportS0.getMaterialspot().getCountF900());
		sheet8 = helper.addCell(sheet8, 3, 17, spotReportS0.getMaterialspot().getPassF900());
		
		sheet8 = helper.addCell(sheet8, 5, 17, spotReportS0.getMaterialspot().getCountF901());
		sheet8 = helper.addCell(sheet8, 6, 17, spotReportS0.getMaterialspot().getCountF901());
		
		sheet8 = helper.addCell(sheet8, 8, 17, spotReportS0.getMaterialspot().getCountF902());
		sheet8 = helper.addCell(sheet8, 9, 17, spotReportS0.getMaterialspot().getCountF902());
		
		sheet8 = helper.addCell(sheet8, 11, 17, spotReportS0.getMaterialspot().getCountF903());
		sheet8 = helper.addCell(sheet8, 12, 17, spotReportS0.getMaterialspot().getCountF903());
		
		sheet8 = helper.addCell(sheet8, 14, 17, spotReportS0.getMaterialspot().getCountF904());
		sheet8 = helper.addCell(sheet8, 15, 17, spotReportS0.getMaterialspot().getCountF904());
		
		sheet8 = helper.addCell(sheet8, 17, 17, spotReportS0.getMaterialspot().getCountF905());
		sheet8 = helper.addCell(sheet8, 18, 17, spotReportS0.getMaterialspot().getCountF905());
		
		sheet8 = helper.addCell(sheet8, 20, 17, spotReportS0.getMaterialspot().getCountF906());
		sheet8 = helper.addCell(sheet8, 21, 17, spotReportS0.getMaterialspot().getCountF906());
		
		sheet8 = helper.addCell(sheet8, 23, 17, spotReportS0.getMaterialspot().getCountF907());
		sheet8 = helper.addCell(sheet8, 24, 17, spotReportS0.getMaterialspot().getCountF907());
		
		sheet8 = helper.addCell(sheet8, 26, 17, spotReportS0.getMaterialspot().getCountF908());
		sheet8 = helper.addCell(sheet8, 27, 17, spotReportS0.getMaterialspot().getCountF908());
		
		}
		
		if(spotReportS1.getMaterialspot() != null){
		/*省道一级公路*/
		sheet8 = helper.addCell(sheet8, 2, 18, spotReportS1.getMaterialspot().getCountF900());
		sheet8 = helper.addCell(sheet8, 3, 18, spotReportS1.getMaterialspot().getPassF900());
		
		sheet8 = helper.addCell(sheet8, 5, 18, spotReportS1.getMaterialspot().getCountF901());
		sheet8 = helper.addCell(sheet8, 6, 18, spotReportS1.getMaterialspot().getCountF901());
		
		sheet8 = helper.addCell(sheet8, 8, 18, spotReportS1.getMaterialspot().getCountF902());
		sheet8 = helper.addCell(sheet8, 9, 18, spotReportS1.getMaterialspot().getCountF902());
		
		sheet8 = helper.addCell(sheet8, 11, 18, spotReportS1.getMaterialspot().getCountF903());
		sheet8 = helper.addCell(sheet8, 12, 18, spotReportS1.getMaterialspot().getCountF903());
		
		sheet8 = helper.addCell(sheet8, 14, 18, spotReportS1.getMaterialspot().getCountF904());
		sheet8 = helper.addCell(sheet8, 15, 18, spotReportS1.getMaterialspot().getCountF904());
		
		sheet8 = helper.addCell(sheet8, 17, 18, spotReportS1.getMaterialspot().getCountF905());
		sheet8 = helper.addCell(sheet8, 18, 18, spotReportS1.getMaterialspot().getCountF905());
		
		sheet8 = helper.addCell(sheet8, 20, 18, spotReportS1.getMaterialspot().getCountF906());
		sheet8 = helper.addCell(sheet8, 21, 18, spotReportS1.getMaterialspot().getCountF906());
		
		sheet8 = helper.addCell(sheet8, 23, 18, spotReportS1.getMaterialspot().getCountF907());
		sheet8 = helper.addCell(sheet8, 24, 18, spotReportS1.getMaterialspot().getCountF907());
		
		sheet8 = helper.addCell(sheet8, 26, 18, spotReportS1.getMaterialspot().getCountF908());
		sheet8 = helper.addCell(sheet8, 27, 18, spotReportS1.getMaterialspot().getCountF908());
		
		}
		
		if(spotReportS2.getMaterialspot() != null){
		/*省道二级公路*/
		sheet8 = helper.addCell(sheet8, 2, 19, spotReportS2.getMaterialspot().getCountF900());
		sheet8 = helper.addCell(sheet8, 3, 19, spotReportS2.getMaterialspot().getPassF900());
		
		sheet8 = helper.addCell(sheet8, 5, 19, spotReportS2.getMaterialspot().getCountF901());
		sheet8 = helper.addCell(sheet8, 6, 19, spotReportS2.getMaterialspot().getCountF901());
		
		sheet8 = helper.addCell(sheet8, 8, 19, spotReportS2.getMaterialspot().getCountF902());
		sheet8 = helper.addCell(sheet8, 9, 19, spotReportS2.getMaterialspot().getCountF902());
		
		sheet8 = helper.addCell(sheet8, 11, 19, spotReportS2.getMaterialspot().getCountF903());
		sheet8 = helper.addCell(sheet8, 12, 19, spotReportS2.getMaterialspot().getCountF903());
		
		sheet8 = helper.addCell(sheet8, 14, 19, spotReportS2.getMaterialspot().getCountF904());
		sheet8 = helper.addCell(sheet8, 15, 19, spotReportS2.getMaterialspot().getCountF904());
		
		sheet8 = helper.addCell(sheet8, 17, 19, spotReportS2.getMaterialspot().getCountF905());
		sheet8 = helper.addCell(sheet8, 18, 19, spotReportS2.getMaterialspot().getCountF905());
		
		sheet8 = helper.addCell(sheet8, 20, 19, spotReportS2.getMaterialspot().getCountF906());
		sheet8 = helper.addCell(sheet8, 21, 19, spotReportS2.getMaterialspot().getCountF906());
		
		sheet8 = helper.addCell(sheet8, 23, 19, spotReportS2.getMaterialspot().getCountF907());
		sheet8 = helper.addCell(sheet8, 24, 19, spotReportS2.getMaterialspot().getCountF907());
		
		sheet8 = helper.addCell(sheet8, 26, 19, spotReportS2.getMaterialspot().getCountF908());
		sheet8 = helper.addCell(sheet8, 27, 19, spotReportS2.getMaterialspot().getCountF908());
		
		}
		
		
		if(spotReportS3.getMaterialspot() != null){
		/*省道三级及以下公路*/
		sheet8 = helper.addCell(sheet8, 2, 20, spotReportS3.getMaterialspot().getCountF900());
		sheet8 = helper.addCell(sheet8, 3, 20, spotReportS3.getMaterialspot().getPassF900());
		
		sheet8 = helper.addCell(sheet8, 5, 20, spotReportS3.getMaterialspot().getCountF901());
		sheet8 = helper.addCell(sheet8, 6, 20, spotReportS3.getMaterialspot().getCountF901());
		
		sheet8 = helper.addCell(sheet8, 8, 20, spotReportS3.getMaterialspot().getCountF902());
		sheet8 = helper.addCell(sheet8, 9, 20, spotReportS3.getMaterialspot().getCountF902());
		
		sheet8 = helper.addCell(sheet8, 11, 20, spotReportS3.getMaterialspot().getCountF903());
		sheet8 = helper.addCell(sheet8, 12, 20, spotReportS3.getMaterialspot().getCountF903());
		
		sheet8 = helper.addCell(sheet8, 14, 20, spotReportS3.getMaterialspot().getCountF904());
		sheet8 = helper.addCell(sheet8, 15, 20, spotReportS3.getMaterialspot().getCountF904());
		
		sheet8 = helper.addCell(sheet8, 17, 20, spotReportS3.getMaterialspot().getCountF905());
		sheet8 = helper.addCell(sheet8, 18, 20, spotReportS3.getMaterialspot().getCountF905());
		
		sheet8 = helper.addCell(sheet8, 20, 20, spotReportS3.getMaterialspot().getCountF906());
		sheet8 = helper.addCell(sheet8, 21, 20, spotReportS3.getMaterialspot().getCountF906());
		
		sheet8 = helper.addCell(sheet8, 23, 20, spotReportS3.getMaterialspot().getCountF907());
		sheet8 = helper.addCell(sheet8, 24, 20, spotReportS3.getMaterialspot().getCountF907());
		
		sheet8 = helper.addCell(sheet8, 26, 20, spotReportS3.getMaterialspot().getCountF908());
		sheet8 = helper.addCell(sheet8, 27, 20, spotReportS3.getMaterialspot().getCountF908());
		
		}
		
		if(spotReportT1.getMaterialspot() != null){
		/*县道、乡道、村道高速公路*/
		sheet8 = helper.addCell(sheet8, 2, 22, spotReportT0.getMaterialspot().getCountF900());
		sheet8 = helper.addCell(sheet8, 3, 22, spotReportT0.getMaterialspot().getPassF900());
		
		sheet8 = helper.addCell(sheet8, 5, 22, spotReportT0.getMaterialspot().getCountF901());
		sheet8 = helper.addCell(sheet8, 6, 22, spotReportT0.getMaterialspot().getCountF901());
		
		sheet8 = helper.addCell(sheet8, 8, 22, spotReportT0.getMaterialspot().getCountF902());
		sheet8 = helper.addCell(sheet8, 9, 22, spotReportT0.getMaterialspot().getCountF902());
		
		sheet8 = helper.addCell(sheet8, 11, 22, spotReportT0.getMaterialspot().getCountF903());
		sheet8 = helper.addCell(sheet8, 12, 22, spotReportT0.getMaterialspot().getCountF903());
		
		sheet8 = helper.addCell(sheet8, 14, 22, spotReportT0.getMaterialspot().getCountF904());
		sheet8 = helper.addCell(sheet8, 15, 22, spotReportT0.getMaterialspot().getCountF904());
		
		sheet8 = helper.addCell(sheet8, 17, 22, spotReportT0.getMaterialspot().getCountF905());
		sheet8 = helper.addCell(sheet8, 18, 22, spotReportT0.getMaterialspot().getCountF905());
		
		sheet8 = helper.addCell(sheet8, 20, 22, spotReportT0.getMaterialspot().getCountF906());
		sheet8 = helper.addCell(sheet8, 21, 22, spotReportT0.getMaterialspot().getCountF906());
		
		sheet8 = helper.addCell(sheet8, 23, 22, spotReportT0.getMaterialspot().getCountF907());
		sheet8 = helper.addCell(sheet8, 24, 22, spotReportT0.getMaterialspot().getCountF907());
		
		sheet8 = helper.addCell(sheet8, 26, 22, spotReportT0.getMaterialspot().getCountF908());
		sheet8 = helper.addCell(sheet8, 27, 22, spotReportT0.getMaterialspot().getCountF908());
		}
		
		if(spotReportG0.getMaterialspot() != null){
		/*县道、乡道、村道一级公路*/
		sheet8 = helper.addCell(sheet8, 2, 23, spotReportT1.getMaterialspot().getCountF900());
		sheet8 = helper.addCell(sheet8, 3, 23, spotReportT1.getMaterialspot().getPassF900());
		
		sheet8 = helper.addCell(sheet8, 5, 23, spotReportT1.getMaterialspot().getCountF901());
		sheet8 = helper.addCell(sheet8, 6, 23, spotReportT1.getMaterialspot().getCountF901());
		
		sheet8 = helper.addCell(sheet8, 8, 23, spotReportT1.getMaterialspot().getCountF902());
		sheet8 = helper.addCell(sheet8, 9, 23, spotReportT1.getMaterialspot().getCountF902());
		
		sheet8 = helper.addCell(sheet8, 11, 23, spotReportT1.getMaterialspot().getCountF903());
		sheet8 = helper.addCell(sheet8, 12, 23, spotReportT1.getMaterialspot().getCountF903());
		
		sheet8 = helper.addCell(sheet8, 14, 23, spotReportT1.getMaterialspot().getCountF904());
		sheet8 = helper.addCell(sheet8, 15, 23, spotReportT1.getMaterialspot().getCountF904());
		
		sheet8 = helper.addCell(sheet8, 17, 23, spotReportT1.getMaterialspot().getCountF905());
		sheet8 = helper.addCell(sheet8, 18, 23, spotReportT1.getMaterialspot().getCountF905());
		
		sheet8 = helper.addCell(sheet8, 20, 23, spotReportT1.getMaterialspot().getCountF906());
		sheet8 = helper.addCell(sheet8, 21, 23, spotReportT1.getMaterialspot().getCountF906());
		
		sheet8 = helper.addCell(sheet8, 23, 23, spotReportT1.getMaterialspot().getCountF907());
		sheet8 = helper.addCell(sheet8, 24, 23, spotReportT1.getMaterialspot().getCountF907());
		
		sheet8 = helper.addCell(sheet8, 26, 23, spotReportT1.getMaterialspot().getCountF908());
		sheet8 = helper.addCell(sheet8, 27, 23, spotReportT1.getMaterialspot().getCountF908());
		
		}
		
		if(spotReportT2.getMaterialspot() != null){
		/*县道、乡道、村道二级公路   */
		sheet8 = helper.addCell(sheet8, 2, 24, spotReportT2.getMaterialspot().getCountF900());
		sheet8 = helper.addCell(sheet8, 3, 24, spotReportT2.getMaterialspot().getPassF900());
		
		sheet8 = helper.addCell(sheet8, 5, 24, spotReportT2.getMaterialspot().getCountF901());
		sheet8 = helper.addCell(sheet8, 6, 24, spotReportT2.getMaterialspot().getCountF901());
		
		sheet8 = helper.addCell(sheet8, 8, 24, spotReportT2.getMaterialspot().getCountF902());
		sheet8 = helper.addCell(sheet8, 9, 24, spotReportT2.getMaterialspot().getCountF902());
		
		sheet8 = helper.addCell(sheet8, 11, 24, spotReportT2.getMaterialspot().getCountF903());
		sheet8 = helper.addCell(sheet8, 12, 24, spotReportT2.getMaterialspot().getCountF903());
		
		sheet8 = helper.addCell(sheet8, 14, 24, spotReportT2.getMaterialspot().getCountF904());
		sheet8 = helper.addCell(sheet8, 15, 24, spotReportT2.getMaterialspot().getCountF904());
		
		sheet8 = helper.addCell(sheet8, 17, 24, spotReportT2.getMaterialspot().getCountF905());
		sheet8 = helper.addCell(sheet8, 18, 24, spotReportT2.getMaterialspot().getCountF905());
		
		sheet8 = helper.addCell(sheet8, 20, 24, spotReportT2.getMaterialspot().getCountF906());
		sheet8 = helper.addCell(sheet8, 21, 24, spotReportT2.getMaterialspot().getCountF906());
		
		sheet8 = helper.addCell(sheet8, 23, 24, spotReportT2.getMaterialspot().getCountF907());
		sheet8 = helper.addCell(sheet8, 24, 24, spotReportT2.getMaterialspot().getCountF907());
		
		sheet8 = helper.addCell(sheet8, 26, 24, spotReportT2.getMaterialspot().getCountF908());
		sheet8 = helper.addCell(sheet8, 27, 24, spotReportT2.getMaterialspot().getCountF908());
		
		}
		
		if(spotReportT3.getMaterialspot() != null){
		/*县道、乡道、村道三级及以下公路*/
		sheet8 = helper.addCell(sheet8, 2, 25, spotReportT3.getMaterialspot().getCountF900());
		sheet8 = helper.addCell(sheet8, 3, 25, spotReportT3.getMaterialspot().getPassF900());
		
		sheet8 = helper.addCell(sheet8, 5, 25, spotReportT3.getMaterialspot().getCountF901());
		sheet8 = helper.addCell(sheet8, 6, 25, spotReportT3.getMaterialspot().getCountF901());
		
		sheet8 = helper.addCell(sheet8, 8, 25, spotReportT3.getMaterialspot().getCountF902());
		sheet8 = helper.addCell(sheet8, 9, 25, spotReportT3.getMaterialspot().getCountF902());
		
		sheet8 = helper.addCell(sheet8, 11, 25, spotReportT3.getMaterialspot().getCountF903());
		sheet8 = helper.addCell(sheet8, 12, 25, spotReportT3.getMaterialspot().getCountF903());
		
		sheet8 = helper.addCell(sheet8, 14, 25, spotReportT3.getMaterialspot().getCountF904());
		sheet8 = helper.addCell(sheet8, 15, 25, spotReportT3.getMaterialspot().getCountF904());
		
		sheet8 = helper.addCell(sheet8, 17, 25, spotReportT3.getMaterialspot().getCountF905());
		sheet8 = helper.addCell(sheet8, 18, 25, spotReportT3.getMaterialspot().getCountF905());
		
		sheet8 = helper.addCell(sheet8, 20, 25, spotReportT3.getMaterialspot().getCountF906());
		sheet8 = helper.addCell(sheet8, 21, 25, spotReportT3.getMaterialspot().getCountF906());
		
		sheet8 = helper.addCell(sheet8, 23, 25, spotReportT3.getMaterialspot().getCountF907());
		sheet8 = helper.addCell(sheet8, 24, 25, spotReportT3.getMaterialspot().getCountF907());
		
		sheet8 = helper.addCell(sheet8, 26, 25, spotReportT3.getMaterialspot().getCountF908());
		sheet8 = helper.addCell(sheet8, 27, 25, spotReportT3.getMaterialspot().getCountF908());
		
		}
		
	}

	/**
	 * 
	 * jiduTotimeS:
	 * 适用:某一年某一个季度的开始季度时间，例如2011年的第一个季度，则返回的是2011-01-01
	 * @param jiduS第几个季度
	 * @param yearTime哪一年
	 * @return 返回的是一个字符串的日期如2011-01-01
	 * @exception 
	 * @since  1.0.0
	 */
	public String jiduTotimeS(String jiduS,String yearTime){
		
		String startJidu1 = "";
		
		if(StringUtils.equals(jiduS,"1")){
			startJidu1 = yearTime + "-01-01";
		}
		
		if(StringUtils.equals(jiduS,"2")){
			startJidu1 = yearTime + "-04-01";
		}
		
		if(StringUtils.equals(jiduS,"3")){
			startJidu1 = yearTime + "-07-01";
		}

		if(StringUtils.equals(jiduS,"4")){
			startJidu1 = yearTime + "-10-01";
		}
		return startJidu1;
	}
	
	/**
	 * 
	 * jiduTotimeE:
	 * 适用:某一年某一个季度的开始季度时间，例如2011年的第一个季度，则返回的是2011-04-01
	 * @param jiduS第几个季度
	 * @param yearTime哪一年
	 * @return 返回的是一个字符串的日期如2011-04-01
	 * @exception 
	 * @since  1.0.0
	 */
	public String jiduTotimeE(String jiduS,String yearTime){
		
		String startJidu2 = "";
		
		if(StringUtils.equals(jiduS,"1")){
			startJidu2 = yearTime + "-04-01";
		}
		
		if(StringUtils.equals(jiduS,"2")){
			startJidu2 = yearTime + "-07-01";
		}
		
		if(StringUtils.equals(jiduS,"3")){
			startJidu2 = yearTime + "-10-01";
		}

		if(StringUtils.equals(jiduS,"4")){
			startJidu2 = String.valueOf(Integer.parseInt(yearTime)+1) + "-01-01";
		}
		return startJidu2;
	}
	
	
	public String jiduTotimeMonthS(String month, String yearTime) {
		String startJidu1 = "";
		startJidu1 = yearTime + "-"+month+"-01";
		return startJidu1;
	}
	
	public String jiduTotimeMonthE(String month, String yearTime) {
		String startJidu1 = "";
		if(month.equals("12")){
			startJidu1 = (Integer.parseInt(yearTime)+1) + "-01-01";
		}else{
			startJidu1 = yearTime + "-"+(Integer.parseInt(month)+1)+"-01";
		}
		return startJidu1;
	}
	
	public String jiduTotimeYearS(String tiall) {
		String startJidu1 = "";
		startJidu1 = tiall + "-01-01";
		return startJidu1;
	}
	
	public String jiduTotimeYearE(String tiall) {
		String startJidu1 = "";
		startJidu1 = (Integer.parseInt(tiall)+1) + "-01-01";
		return startJidu1;
	}
	
	public SpotReport jiduTong(String startTime, String endTime, String planTypes0, String townItems0, String roadItems0, String levelItems0) {
		
		String planTypes = dislodge(planTypes0);
		String townItems = dislodge(townItems0);
		String roadItems = dislodge(roadItems0); 
		String levelItems = zhuanbian(levelItems0);
		List<String>  condition = toto(levelItems0,3108);
		List<String>  condition1 = toto(townItems0,4419);
		List<String>  condition2 = toto(roadItems,3006);
		List<String>  condition3 = toto(planTypes,3003);
		SpotReport spotReport = new SpotReport();
		List<StructureSpot> list1 = structurespotDao.selectJidu(startTime, endTime, planTypes, townItems, roadItems, levelItems);
		List<SurfaceSpot> list2 = surfacespotDao.selectJidu(startTime, endTime, planTypes, townItems, roadItems, levelItems);
		List<Bridgespot> list3 = bridgespotDao.selectJidu(startTime, endTime, planTypes, townItems, roadItems, levelItems);
		List<TunnelSpot> list4 = tunnelspotDao.selectJidu(startTime, endTime, planTypes, townItems, roadItems, levelItems);
		List<Safetyspot> list5 = safetyspotDao.selectJidu(startTime, endTime, planTypes, townItems, roadItems, levelItems);
		List<Materialspot> list6 = materialspotDao.selectJidu(startTime, endTime, planTypes, townItems, roadItems, levelItems);
		if (list1.size() > 0) {
			spotReport.setStructurespot(list1.get(0));
		}
		if (list2.size() > 0) {
			spotReport.setSurfacespot(list2.get(0));
		}
		if (list3.size() > 0) {
			spotReport.setBridgespot(list3.get(0));
		}
		if (list4.size() > 0) {
			spotReport.setTunnelspot(list4.get(0));
		}
		if (list5.size() > 0) {
			spotReport.setSafetyspot(list5.get(0));
		}

		if (list6.size() > 0) {
			spotReport.setMaterialspot(list6.get(0));
		}
		Struts2Utils.getRequest().setAttribute("condition",condition);
		Struts2Utils.getRequest().setAttribute("condition1",condition1);
		Struts2Utils.getRequest().setAttribute("condition2",condition2);
		Struts2Utils.getRequest().setAttribute("condition3",condition3);
		return spotReport;
	}

	public Map<String, SpotReport> jiduProjTong(String startTime, String endTime,String jidu,String planTypes0, String townItems0, String roadItems0, String levelItems0){
		
		String planTypes = dislodge(planTypes0);
		String townItems = dislodge(townItems0);
		String roadItems = dislodge(roadItems0); 
		String levelItems = zhuanbian(levelItems0);
		List<String>  condition = toto(levelItems0,3108);
		List<String>  condition1 = toto(townItems0,4419);
		List<String>  condition2 = toto(roadItems,3006);
		List<String>  condition3 = toto(planTypes,3003);
		List<StructureSpot> list1 = structurespotDao.selectJiduProj(startTime, endTime, planTypes, townItems, roadItems, levelItems);
		List<SurfaceSpot> list2 = surfacespotDao.selectJiduProj(startTime, endTime, planTypes, townItems, roadItems, levelItems);
		List<Bridgespot> list3 = bridgespotDao.selectJiduProj(startTime, endTime, planTypes, townItems, roadItems, levelItems);
		List<TunnelSpot> list4 = tunnelspotDao.selectJiduProj(startTime, endTime, planTypes, townItems, roadItems, levelItems);
		List<Safetyspot> list5 = safetyspotDao.selectJiduProj(startTime, endTime, planTypes, townItems, roadItems, levelItems);
		List<Materialspot> list6 = materialspotDao.selectJiduProj(startTime, endTime, planTypes, townItems, roadItems, levelItems);
		
		Map<String, SpotReport> pp = zuheSixToSpotReport(jidu, list1, list2, list3, list4, list5, list6);

		Struts2Utils.getRequest().setAttribute("condition",condition);
		Struts2Utils.getRequest().setAttribute("condition1",condition1);
		Struts2Utils.getRequest().setAttribute("condition2",condition2);
		Struts2Utils.getRequest().setAttribute("condition3",condition3);
		return pp;
	}

	public DefaultCategoryDataset CategoryDatasetProj(
			DefaultCategoryDataset dataset, List<SpotReport> list) {
		for (int i = 0; i < list.size(); i++) {
			SpotReport spotReport = list.get(i);
			dataset.setValue((Number)spotReport.getAllTotalPassrate(),spotReport.getReplace(),spotReport.getProjectInfo().getProjName());
		}
		return dataset;
	}
	
	public String conZuhe(String jisk ,List<SpotReport> spotReportAllList , Map<String,SpotReport> spotReportListMap0){
		String tab = "";
		String content ="<tr><td>"+jisk+"</td>";
		for (int i = 0; i < spotReportAllList.size(); i++) {
			SpotReport spotReportee = spotReportAllList.get(i);
			String pid = spotReportee.getProjectInfo().getId();
			tab += "<th colspan='3'>" + spotReportee.getProjectInfo().getProjName() + "</th>";
			if(spotReportListMap0.containsKey(pid)){
				for(String dataKey : spotReportListMap0.keySet()){
					SpotReport spotReportff = spotReportListMap0.get(dataKey);
						if(spotReportee.getProjectInfo().getId().equals(spotReportff.getProjectInfo().getId())){
							content += "<td>" +  spotReportff.getAllCount() + "</td><td>" + spotReportff.getAllPass() +"</td><td>" + spotReportff.getAllTotalPassrate() +"</td>";
						}
				}
			}else{
				content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
			}
		}
		content += "</tr>";
		Struts2Utils.getRequest().setAttribute("tab", tab);
		return content;
	}

	/**
	 * 
	 * liuZuhe:
	 * 适用:
	 * @param ro 要查询的镇区中文名字
	 * @param spotReportTownList 通过镇区分组得到的数据 ，每个镇区对应一条数据
	 * @param spotReportListTownMapCn 对应关系为 ：中文镇区名字----编码代号
	 * 以下的都是一些指标
	 * @param luji
	 * @param lumian
	 * @param qiaoliang
	 * @param suidao
	 * @param safe
	 * @param cailiao
	 * @return 返回的是html代码的字符串
	 * @exception 
	 * @since  1.0.0
	 */
	public String liuZuhe(List<String> ro,List<SpotReport> spotReportTownList,Map<String, SpotReport> spotReportListTownMapCn,String[] luji, String[] lumian, String[] qiaoliang,
			String[] suidao, String[] safe, String[] cailiao ,String alltotal){
		String content = "";
		
		if(luji != null){
			for (int k = 0; k < luji.length; k++) {
				content +="<tr><td>"+LabelHelper.getInstance().buildCodeName(3112,luji[k])+"</td>";
				for (int i = 0; i < ro.size(); i++) {
					String to = ro.get(i);
					if(spotReportListTownMapCn.containsKey(to)){
						for (int m = 0; m < spotReportTownList.size(); m++) {
							SpotReport spotReporthh = spotReportTownList.get(m);
							String replace = spotReporthh.getReplace();
							if(to.equals(replace)){	
								if(spotReporthh.getStructurespot() != null){
									Object countF = ReflectionUtils.invokeGetterMethod(spotReporthh.getStructurespot(), "countF"+luji[k]);
									Object passF = ReflectionUtils.invokeGetterMethod(spotReporthh.getStructurespot(), "passF"+luji[k]);
									Object passrateF = ReflectionUtils.invokeGetterMethod(spotReporthh.getStructurespot(), "passrateF"+luji[k]);
									if(countF == null) countF = 0;
									if(passF == null) passF = 0;
									if(passrateF == null) passrateF = 0;
									content += "<td>" + countF + "</td>"
											+  "<td>" + passF + "</td>"
											+  "<td>" + passrateF + "</td>";
								}else{
									content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
								}
							}
						}
					}else{
						content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
					}
				}
				content += "</tr>";
			}
		}
		
		if(lumian != null){
			for (int k = 0; k < lumian.length; k++) {
				content +="<tr><td>"+LabelHelper.getInstance().buildCodeName(3113,lumian[k])+"</td>";
				for (int i = 0; i < ro.size(); i++) {
					String to = ro.get(i);
					if(spotReportListTownMapCn.containsKey(to)){
						for (int m = 0; m < spotReportTownList.size(); m++) {
								SpotReport spotReporthh = spotReportTownList.get(m);
								String replace = spotReporthh.getReplace();
								if(to.equals(replace)){	
									if(spotReporthh.getSurfacespot() != null){
										Object countF = ReflectionUtils.invokeGetterMethod(spotReporthh.getSurfacespot(), "countF"+lumian[k]);
										Object passF = ReflectionUtils.invokeGetterMethod(spotReporthh.getSurfacespot(), "passF"+lumian[k]);
										Object passrateF = ReflectionUtils.invokeGetterMethod(spotReporthh.getSurfacespot(), "passrateF"+lumian[k]);
										if(countF == null) countF = 0;
										if(passF == null) passF = 0;
										if(passrateF == null) passrateF = 0;
										content += "<td>" + countF + "</td>"
												+  "<td>" + passF + "</td>"
												+  "<td>" + passrateF + "</td>";
									}else{
										content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
									}
								}
						}
					}else{
						content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
					}
				}
				content += "</tr>";
			}
		}	
		
		if(qiaoliang != null){
			for (int k = 0; k < qiaoliang.length; k++) {
				content +="<tr><td>"+LabelHelper.getInstance().buildCodeName(3114,qiaoliang[k])+"</td>";
				for (int i = 0; i < ro.size(); i++) {
					String to = ro.get(i);
					if(spotReportListTownMapCn.containsKey(to)){
					for (int m = 0; m < spotReportTownList.size(); m++) {
							SpotReport spotReporthh = spotReportTownList.get(m);
							String replace = spotReporthh.getReplace();
							if(to.equals(replace)){	
								if(spotReporthh.getBridgespot() != null){
									Object countF = ReflectionUtils.invokeGetterMethod(spotReporthh.getBridgespot(), "countF"+qiaoliang[k]);
									Object passF = ReflectionUtils.invokeGetterMethod(spotReporthh.getBridgespot(), "passF"+qiaoliang[k]);
									Object passrateF = ReflectionUtils.invokeGetterMethod(spotReporthh.getBridgespot(), "passrateF"+qiaoliang[k]);
									if(countF == null) countF = 0;
									if(passF == null) passF = 0;
									if(passrateF == null) passrateF = 0;
									content += "<td>" + countF + "</td>"
											+  "<td>" + passF + "</td>"
											+  "<td>" + passrateF + "</td>";
								}else{
									content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
								}
							}
						}
					}else{
						content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
					}
				}
				content += "</tr>";
			}
		}
		
		if(suidao != null){
			for (int k = 0; k < suidao.length; k++) {
				content +="<tr><td>"+LabelHelper.getInstance().buildCodeName(3115,suidao[k])+"</td>";
				for (int i = 0; i < ro.size(); i++) {
					String to = ro.get(i);
					if(spotReportListTownMapCn.containsKey(to)){
						for (int m = 0; m < spotReportTownList.size(); m++) {
								SpotReport spotReporthh = spotReportTownList.get(m);
								String replace = spotReporthh.getReplace();
								if(to.equals(replace)){	
									if(spotReporthh.getTunnelspot() != null){
										Object countF = ReflectionUtils.invokeGetterMethod(spotReporthh.getTunnelspot(), "countF"+suidao[k]);
										Object passF = ReflectionUtils.invokeGetterMethod(spotReporthh.getTunnelspot(), "passF"+suidao[k]);
										Object passrateF = ReflectionUtils.invokeGetterMethod(spotReporthh.getTunnelspot(), "passrateF"+suidao[k]);
										if(countF == null) countF = 0;
										if(passF == null) passF = 0;
										if(passrateF == null) passrateF = 0;
										content += "<td>" + countF + "</td>"
												+  "<td>" + passF + "</td>"
												+  "<td>" + passrateF + "</td>";
									}else{
										content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
								}
							}
						}
					}else{
						content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
					}
				}
				content += "</tr>";
			}
		}
		
		
		if(safe != null){
			for (int k = 0; k < safe.length; k++) {
				content +="<tr><td>"+LabelHelper.getInstance().buildCodeName(3116,safe[k])+"</td>";
				for (int i = 0; i < ro.size(); i++) {
					String to = ro.get(i);
					if(spotReportListTownMapCn.containsKey(to)){
					for (int m = 0; m < spotReportTownList.size(); m++) {
							SpotReport spotReporthh = spotReportTownList.get(m);
							String replace = spotReporthh.getReplace();
							if(to.equals(replace)){	
								if(spotReporthh.getSafetyspot() != null){
									Object countF = ReflectionUtils.invokeGetterMethod(spotReporthh.getSafetyspot(), "countF"+safe[k]);
									Object passF = ReflectionUtils.invokeGetterMethod(spotReporthh.getSafetyspot(), "passF"+safe[k]);
									Object passrateF = ReflectionUtils.invokeGetterMethod(spotReporthh.getSafetyspot(), "passrateF"+safe[k]);
									if(countF == null) countF = 0;
									if(passF == null) passF = 0;
									if(passrateF == null) passrateF = 0;
									content += "<td>" + countF + "</td>"
											+  "<td>" + passF + "</td>"
											+  "<td>" + passrateF + "</td>";
								}else{
									content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
								}
							}
						}
					}else{
						content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
					}
				}
				content += "</tr>";
			}
		}
		
		if(cailiao != null){
			for (int k = 0; k < cailiao.length; k++) {
				content +="<tr><td>"+LabelHelper.getInstance().buildCodeName(3119,cailiao[k])+"</td>";
				for (int i = 0; i < ro.size(); i++) {
					String to = ro.get(i);
					if(spotReportListTownMapCn.containsKey(to)){
					for (int m = 0; m < spotReportTownList.size(); m++) {
							SpotReport spotReporthh = spotReportTownList.get(m);
							String replace = spotReporthh.getReplace();
							if(to.equals(replace)){	
								if(spotReporthh.getMaterialspot() != null){
									Object countF = ReflectionUtils.invokeGetterMethod(spotReporthh.getMaterialspot(), "countF"+cailiao[k]);
									Object passF = ReflectionUtils.invokeGetterMethod(spotReporthh.getMaterialspot(), "passF"+cailiao[k]);
									Object passrateF =ReflectionUtils.invokeGetterMethod(spotReporthh.getMaterialspot(), "passrateF"+cailiao[k]);
									if(countF == null) countF = 0;
									if(passF == null) passF = 0;
									if(passrateF == null) passrateF = 0;
									content += "<td>" + countF + "</td>"
											+  "<td>" + passF + "</td>"
											+  "<td>" + passrateF + "</td>";
								}else{
									content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
								}
							}
						}
					}else{
						content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
					}
				}
				content += "</tr>";
			}
		}
		
		if(StringUtils.isNotEmpty(alltotal)){
			content +="<tr><td>"+alltotal+"</td>";
			for (int i = 0; i < ro.size(); i++) {
				String to = ro.get(i);
				if(spotReportListTownMapCn.containsKey(to)){
					for (int m = 0; m < spotReportTownList.size(); m++) {
						SpotReport spotReporthh = spotReportTownList.get(m);
						String replace = spotReporthh.getReplace();
						if(to.equals(replace)){	
							if(spotReporthh.getStructurespot() != null){
								content += "<td>" + spotReporthh.getAllCount() + "</td>"
										+  "<td>" + spotReporthh.getAllPass() + "</td>"
										+  "<td>" + spotReporthh.getAllTotalPassrate()+ "</td>";
							}else{
								content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
							}
						}
					}
				}else{
					content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
				}
			}
			content += "</tr>";
		}
		
		return content;
	}

	/**
	 * 
	 * liuZuheZhibiao:
	 * 适用:工程统计中类型为指标
	 * @param spotReportZhibiaoList
	 * @param luji
	 * @param lumian
	 * @param qiaoliang
	 * @param suidao
	 * @param safe
	 * @param cailiao
	 * @return 
	 * @exception 
	 * @since  1.0.0
	 */
	public String liuZuheZhibiao(List<SpotReport> spotReportZhibiaoList,String[] luji, String[] lumian, String[] qiaoliang,
			String[] suidao, String[] safe, String[] cailiao){
		String content = "";
		if(luji != null){
			for (int k = 0; k < luji.length; k++) {
						content +="<tr><td>"+LabelHelper.getInstance().buildCodeName(3112,luji[k])+"</td>";
						for (int m = 0; m < spotReportZhibiaoList.size(); m++) {
							SpotReport spotReporthh = spotReportZhibiaoList.get(m);
							if(spotReporthh.getStructurespot() != null){
									Object countF = ReflectionUtils.invokeGetterMethod(spotReporthh.getStructurespot(), "countF"+luji[k]);
									Object passF = ReflectionUtils.invokeGetterMethod(spotReporthh.getStructurespot(), "passF"+luji[k]);
									Object passrateF = ReflectionUtils.invokeGetterMethod(spotReporthh.getStructurespot(), "passrateF"+luji[k]);
									if(countF == null) countF = 0;
									if(passF == null) passF = 0;
									if(passrateF == null) passrateF = 0;
									content += "<td>" + countF + "</td>"
											+  "<td>" + passF + "</td>"
											+  "<td>" + passrateF + "</td>";
								}else{
											content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
							}
					}	
				content += "</tr>";
			}
		}
		if(lumian != null){
			for (int k = 0; k < lumian.length; k++) {
				content +="<tr><td>"+LabelHelper.getInstance().buildCodeName(3113,lumian[k])+"</td>";
						for (int m = 0; m < spotReportZhibiaoList.size(); m++) {
								SpotReport spotReporthh = spotReportZhibiaoList.get(m);
									if(spotReporthh.getSurfacespot() != null){
										Object countF = ReflectionUtils.invokeGetterMethod(spotReporthh.getSurfacespot(), "countF"+lumian[k]);
										Object passF = ReflectionUtils.invokeGetterMethod(spotReporthh.getSurfacespot(), "passF"+lumian[k]);
										Object passrateF = ReflectionUtils.invokeGetterMethod(spotReporthh.getSurfacespot(), "passrateF"+lumian[k]);
										if(countF == null) countF = 0;
										if(passF == null) passF = 0;
										if(passrateF == null) passrateF = 0;
										content += "<td>" + countF + "</td>"
												+  "<td>" + passF + "</td>"
												+  "<td>" + passrateF + "</td>";
								}else{
										content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
							}
						}
				content += "</tr>";
			}
		}	
		if(qiaoliang != null){
			for (int k = 0; k < qiaoliang.length; k++) {
				content +="<tr><td>"+LabelHelper.getInstance().buildCodeName(3114,qiaoliang[k])+"</td>";
					for (int m = 0; m < spotReportZhibiaoList.size(); m++) {
							SpotReport spotReporthh = spotReportZhibiaoList.get(m);
								if(spotReporthh.getBridgespot() != null){
									Object countF = ReflectionUtils.invokeGetterMethod(spotReporthh.getBridgespot(), "countF"+qiaoliang[k]);
									Object passF = ReflectionUtils.invokeGetterMethod(spotReporthh.getBridgespot(), "passF"+qiaoliang[k]);
									Object passrateF = ReflectionUtils.invokeGetterMethod(spotReporthh.getBridgespot(), "passrateF"+qiaoliang[k]);
									if(countF == null) countF = 0;
									if(passF == null) passF = 0;
									if(passrateF == null) passrateF = 0;
									content += "<td>" + countF + "</td>"
											+  "<td>" + passF + "</td>"
											+  "<td>" + passrateF + "</td>";
						}else{
									content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
				}
					}
				content += "</tr>";
			}
		}
		
		if(suidao != null){
			for (int k = 0; k < suidao.length; k++) {
				content +="<tr><td>"+LabelHelper.getInstance().buildCodeName(3115,suidao[k])+"</td>";
						for (int m = 0; m < spotReportZhibiaoList.size(); m++) {
								SpotReport spotReporthh = spotReportZhibiaoList.get(m);
									if(spotReporthh.getTunnelspot() != null){
										Object countF = ReflectionUtils.invokeGetterMethod(spotReporthh.getTunnelspot(), "countF"+suidao[k]);
										Object passF = ReflectionUtils.invokeGetterMethod(spotReporthh.getTunnelspot(), "passF"+suidao[k]);
										Object passrateF = ReflectionUtils.invokeGetterMethod(spotReporthh.getTunnelspot(), "passrateF"+suidao[k]);
										if(countF == null) countF = 0;
										if(passF == null) passF = 0;
										if(passrateF == null) passrateF = 0;
										content += "<td>" + countF + "</td>"
												+  "<td>" + passF + "</td>"
												+  "<td>" + passrateF + "</td>";
							}else{
							content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
				}
						}
				content += "</tr>";
			}
		}
		
		
		if(safe != null){
			for (int k = 0; k < safe.length; k++) {
				content +="<tr><td>"+LabelHelper.getInstance().buildCodeName(3116,safe[k])+"</td>";
					for (int m = 0; m < spotReportZhibiaoList.size(); m++) {
							SpotReport spotReporthh = spotReportZhibiaoList.get(m);
								if(spotReporthh.getSafetyspot() != null){
									Object countF = ReflectionUtils.invokeGetterMethod(spotReporthh.getSafetyspot(), "countF"+safe[k]);
									Object passF = ReflectionUtils.invokeGetterMethod(spotReporthh.getSafetyspot(), "passF"+safe[k]);
									Object passrateF = ReflectionUtils.invokeGetterMethod(spotReporthh.getSafetyspot(), "passrateF"+safe[k]);
									if(countF == null) countF = 0;
									if(passF == null) passF = 0;
									if(passrateF == null) passrateF = 0;
									content += "<td>" + countF + "</td>"
											+  "<td>" + passF + "</td>"
											+  "<td>" + passrateF + "</td>";
								}else{
									content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
					}
					}
					content += "</tr>";
				}
			}
		
		if(cailiao != null){
			for (int k = 0; k < cailiao.length; k++) {
				content +="<tr><td>"+LabelHelper.getInstance().buildCodeName(3119,cailiao[k])+"</td>";
					for (int m = 0; m < spotReportZhibiaoList.size(); m++) {
							SpotReport spotReporthh = spotReportZhibiaoList.get(m);
								if(spotReporthh.getMaterialspot() != null){
									Object countF = ReflectionUtils.invokeGetterMethod(spotReporthh.getMaterialspot(), "countF"+cailiao[k]);
									Object passF = ReflectionUtils.invokeGetterMethod(spotReporthh.getMaterialspot(), "passF"+cailiao[k]);
									Object passrateF =ReflectionUtils.invokeGetterMethod(spotReporthh.getMaterialspot(), "passrateF"+cailiao[k]);
									if(countF == null) countF = 0;
									if(passF == null) passF = 0;
									if(passrateF == null) passrateF = 0;
									content += "<td>" + countF + "</td>"
											+  "<td>" + passF + "</td>"
											+  "<td>" + passrateF + "</td>";
								}else{
									content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
					}
				}
				content += "</tr>";
			}
		}
		return content;
	}

	/**
	 * 
	 * CategoryDatasetZhiBiao:
	 * 适用:工程统计中类型为指标的图形生成
	 * @param dataset
	 * @param spotReportZbList
	 * @param luji
	 * @param lumian
	 * @param qiaoliang
	 * @param suidao
	 * @param safe
	 * @param cailiao
	 * @return 
	 * @exception 
	 * @since  1.0.0
	 */
	public DefaultCategoryDataset CategoryDatasetZhiBiao(
			DefaultCategoryDataset dataset, List<SpotReport> spotReportZbList,
			String[] luji, String[] lumian, String[] qiaoliang,
			String[] suidao, String[] safe, String[] cailiao) {
		for (int i = 0; i < spotReportZbList.size(); i++) {
			SpotReport spotReport = spotReportZbList.get(i);
			String projName = spotReport.getProjectInfo().getProjName();
			dataset = allTodataset(spotReport, dataset, projName, luji, lumian, qiaoliang, suidao, safe, cailiao);
		}
		return dataset;
	}

	
	public Map<String, SpotReport> zuheSixToSpotReport(String jidu,List<StructureSpot> list1,List<SurfaceSpot> list2,List<Bridgespot> list3,List<TunnelSpot> list4,List<Safetyspot> list5,List<Materialspot> list6){
		Map<String, SpotReport> pp = new HashMap<String, SpotReport>();
		for (int i = 0; i < list1.size(); i++) {
			StructureSpot structurespot = list1.get(i);
			String groupBy = structurespot.getGroupBy();
			if(!pp.containsKey(groupBy)){
				SpotReport spotReport = new SpotReport();
				spotReport.setReplace(jidu);
				spotReport.setStructurespot(structurespot);
				pp.put(groupBy, spotReport);
			}else{
				pp.get(groupBy).setStructurespot(structurespot);
			}
		}
		for (int i = 0; i < list2.size(); i++) {
			SurfaceSpot surfacespot = list2.get(i);
			String groupBy = surfacespot.getGroupBy();
			if(!pp.containsKey(groupBy)){
				SpotReport spotReport = new SpotReport();
				spotReport.setReplace(jidu);
				spotReport.setSurfacespot(surfacespot);
				pp.put(groupBy, spotReport);
			}else{
				pp.get(groupBy).setSurfacespot(surfacespot);
			}
		}
		
		for (int i = 0; i < list3.size(); i++) {
			Bridgespot bridgespot = list3.get(i);
			String groupBy = bridgespot.getGroupBy();
			if(!pp.containsKey(groupBy)){
				SpotReport spotReport = new SpotReport();
				spotReport.setReplace(jidu);
				spotReport.setBridgespot(bridgespot);
				pp.put(groupBy, spotReport);
			}else{
				pp.get(groupBy).setBridgespot(bridgespot);
			}
		}
		
		for (int i = 0; i < list4.size(); i++) {
			TunnelSpot tunnelspot = list4.get(i);
			String groupBy = tunnelspot.getGroupBy();
			if(!pp.containsKey(groupBy)){
				SpotReport spotReport = new SpotReport();
				spotReport.setReplace(jidu);
				spotReport.setTunnelspot(tunnelspot);
				pp.put(groupBy, spotReport);
			}else{
				pp.get(groupBy).setTunnelspot(tunnelspot);
			}
		}
		
		for (int i = 0; i < list5.size(); i++) {
			Safetyspot safetyspot = list5.get(i);
			String groupBy = safetyspot.getGroupBy();
			if(!pp.containsKey(groupBy)){
				SpotReport spotReport = new SpotReport();
				spotReport.setReplace(jidu);
				spotReport.setSafetyspot(safetyspot);
				pp.put(groupBy, spotReport);
			}else{
				pp.get(groupBy).setSafetyspot(safetyspot);
			}
		}
		
		for (int i = 0; i < list6.size(); i++) {
			Materialspot materialspot = list6.get(i);
			String groupBy = materialspot.getGroupBy();
			if(!pp.containsKey(groupBy)){
				SpotReport spotReport = new SpotReport();
				spotReport.setReplace(jidu);
				spotReport.setMaterialspot(materialspot);
				pp.put(groupBy, spotReport);
			}else{
				pp.get(groupBy).setMaterialspot(materialspot);
			}
		}
		return pp;
	}

	/**
	 * 
	 * CategoryDatasetTown:
	 * 适用:工程统计中统计类型为镇区的图形生成方法
	 * @param dataset
	 * @param spotReportListTownMap
	 * @param townItems0
	 * @param luji
	 * @param lumian
	 * @param qiaoliang
	 * @param suidao
	 * @param safe
	 * @param cailiao
	 * @param alltotal
	 * @return 
	 * @exception 
	 * @since  1.0.0
	 */
	public DefaultCategoryDataset CategoryDatasetThree(
			DefaultCategoryDataset dataset,
			Map<String, SpotReport> spotReportListTownMap, String townItems0,int daihao,
			String[] luji, String[] lumian, String[] qiaoliang,
			String[] suidao, String[] safe, String[] cailiao,String alltotal) {
		String townItems = "";
		String[] townlist = null;
		if(StringUtils.isNotEmpty(townItems0)){
			townItems = townItems0.replaceAll(" ", "");
			townlist = townItems.split(",");
			for(String town : townlist){
				String t = LabelHelper.getInstance().buildCodeName(daihao,town);
				if(spotReportListTownMap.containsKey(town)){
					SpotReport spotReport = spotReportListTownMap.get(town);
					if(StringUtils.isEmpty(alltotal)){
						dataset = allTodataset(spotReport, dataset, t, luji, lumian, qiaoliang, suidao, safe, cailiao);
					}else{
						dataset.setValue(spotReport.getAllTotalPassrate(),alltotal,t);
					}
				}else{
					SpotReport spotReport = new SpotReport();
					if(StringUtils.isEmpty(alltotal)){
						dataset = allTodataset(spotReport, dataset, t, luji, lumian, qiaoliang, suidao, safe, cailiao);
					}else{
						dataset.setValue(spotReport.getAllTotalPassrate(),alltotal,t);
					}
				}
			}
		}else{
			for(String dataKey : spotReportListTownMap.keySet()){
				String townI = LabelHelper.getInstance().buildCodeName(daihao,dataKey);
				SpotReport spotReport = spotReportListTownMap.get(dataKey);
				dataset = allTodataset(spotReport, dataset, townI, luji, lumian, qiaoliang, suidao, safe, cailiao);
			}
		}
		return dataset;
	}
	
	public DefaultCategoryDataset allTodataset(SpotReport spotReport,DefaultCategoryDataset dataset,String t,String[] luji, String[] lumian, String[] qiaoliang,
			String[] suidao, String[] safe, String[] cailiao){
		if(luji != null){
			for (int j = 0; j < luji.length; j++) {
				if(spotReport.getStructurespot() != null){
					Object lu = ReflectionUtils.invokeGetterMethod(spotReport.getStructurespot(), "passrateF"+luji[j]);
					if(lu == null) lu = 0;
					dataset.setValue((Number)lu,LabelHelper.getInstance().buildCodeName(3112,luji[j]),t);
				}else{
					dataset.setValue(0,LabelHelper.getInstance().buildCodeName(3112,luji[j]),t);
				}
			}
		}
		
		if(lumian != null){
			for (int j = 0; j < lumian.length; j++) {
				if(spotReport.getSurfacespot() != null){
					Object lum = ReflectionUtils.invokeGetterMethod(spotReport.getSurfacespot(), "passrateF"+lumian[j]);
					if(lum == null) lum = 0;
					dataset.setValue((Number)lum,LabelHelper.getInstance().buildCodeName(3113,lumian[j]),t);
				}else{
					dataset.setValue(0,LabelHelper.getInstance().buildCodeName(3113,lumian[j]),t);
				}
			}
		}
		
		if(qiaoliang != null){
			for (int j = 0; j < qiaoliang.length; j++) {
				if(spotReport.getBridgespot() != null){
					Object qlu = ReflectionUtils.invokeGetterMethod(spotReport.getBridgespot(), "passrateF"+qiaoliang[j]);
					if(qlu == null) qlu = 0;
					dataset.setValue((Number)qlu,LabelHelper.getInstance().buildCodeName(3114,qiaoliang[j]),t);
				}else{
					dataset.setValue(0,LabelHelper.getInstance().buildCodeName(3114,qiaoliang[j]),t);
				}
			}
		}
		
		if(suidao != null){
			for (int j = 0; j < suidao.length; j++) {
				if(spotReport.getTunnelspot() != null){
					Object slu = ReflectionUtils.invokeGetterMethod(spotReport.getTunnelspot(), "passrateF"+suidao[j]);
					if(slu == null) slu = 0;
					dataset.setValue((Number)slu,LabelHelper.getInstance().buildCodeName(3115,suidao[j]),t);
				}else{
					dataset.setValue(0,LabelHelper.getInstance().buildCodeName(3115,suidao[j]),t);
				}
			}
		}

		if(safe != null){
			for (int j = 0; j < safe.length; j++) {
				if(spotReport.getSafetyspot() != null){
					Object flu = ReflectionUtils.invokeGetterMethod(spotReport.getSafetyspot(), "passrateF"+safe[j]);
					if(flu == null) flu = 0;
					dataset.setValue((Number)flu,LabelHelper.getInstance().buildCodeName(3116,safe[j]),t);
				}else{
					dataset.setValue(0,LabelHelper.getInstance().buildCodeName(3116,safe[j]),t);
				}
			}
		}
		
		if(cailiao != null){
			for (int j = 0; j < cailiao.length; j++) {
				if(spotReport.getMaterialspot() != null){
					Object clu = ReflectionUtils.invokeGetterMethod(spotReport.getMaterialspot(), "passrateF"+cailiao[j]);
					if(clu == null) clu = 0;
					dataset.setValue((Number)clu,LabelHelper.getInstance().buildCodeName(3119,cailiao[j]),t);
				}else{
					dataset.setValue(0,LabelHelper.getInstance().buildCodeName(3119,cailiao[j]),t);
				}
			}
		}
		return dataset;
	}
	
	/**
	 * 
	 * dislodge:
	 * 适用:除去" ";
	 * @param inValue
	 * @return 
	 * @exception 
	 * @since  1.0.0
	 */
	public String dislodge(String inValue){
		String outString = "";
		if(StringUtils.isNotEmpty(inValue)){
			outString = inValue.replaceAll(" ", "");
		}
		return outString;
	}
	
	/**
	 * 
	 * zhuanbian:
	 * 适用:将, 转换成','以便用于数据库in语句
	 * @param inValue
	 * @return 
	 * @exception 
	 * @since  1.0.0
	 */
	public String zhuanbian(String inValue){
		String outString = "";
		if(StringUtils.isNotEmpty(inValue)){
			outString = inValue.replaceAll(", ", "','");;
		}
		return outString;
	}
	
	public List<String> toto(String inValue, int a){
		List<String>  condition = new ArrayList<String>();
		if(StringUtils.isNotEmpty(inValue)){
			String[] palnlist = inValue.replaceAll(" ", "").split(",");
			for(String plan : palnlist){
				String pl = LabelHelper.getInstance().buildCodeName(a,plan);
				condition.add(pl);
			}
		}
		return condition;
	}

	public DefaultCategoryDataset CategoryDatasetTownPici(
			DefaultCategoryDataset dataset,
			Map<String, SpotReport> spotReportListTownMap, String tlrItems0,int daihao,
			String[] luji, String[] lumian, String[] qiaoliang,
			String[] suidao, String[] safe, String[] cailiao, String alltotal) {
		
		String tlrItems = "";
		String[] tlrlist = null;
		if(StringUtils.isNotEmpty(tlrItems0)){
			tlrItems = tlrItems0.replaceAll(" ", "");
			tlrlist = tlrItems.split(",");
			for(String town : tlrlist){
				if(spotReportListTownMap.containsKey(town)){
					SpotReport spotReport = spotReportListTownMap.get(town);
					String t = LabelHelper.getInstance().buildCodeName(daihao,town);
//					dataset.setValue(spotReport.getAllTotalPassrate(),t,"合计");
					dataset = zhenquTown(spotReport, dataset, t, luji, lumian, qiaoliang, suidao, safe, cailiao,alltotal);
				}else{
					SpotReport spotReport = new SpotReport();
					String t = LabelHelper.getInstance().buildCodeName(daihao,town);
					dataset = zhenquTown(spotReport, dataset, t, luji, lumian, qiaoliang, suidao, safe, cailiao,alltotal);
				}
			}
		}
		return dataset;
	}
	
	public DefaultCategoryDataset zhenquTown(SpotReport spotReport,DefaultCategoryDataset dataset,String t,String[] luji, String[] lumian, String[] qiaoliang,
			String[] suidao, String[] safe, String[] cailiao,String alltotal){
		if(luji != null){
			for (int j = 0; j < luji.length; j++) {
				if(spotReport.getStructurespot() != null){
					Object lu = ReflectionUtils.invokeGetterMethod(spotReport.getStructurespot(), "passrateF"+luji[j]);
					if(lu == null) lu = 0;
					dataset.setValue((Number)lu,
							t,
							LabelHelper.getInstance().buildCodeName(3112,luji[j]));
				}else{
					dataset.setValue(0,t,
							LabelHelper.getInstance().buildCodeName(3112,luji[j]));
				}
			}
		}
		
		if(lumian != null){
			for (int j = 0; j < lumian.length; j++) {
				if(spotReport.getSurfacespot() != null){
				Object lum = ReflectionUtils.invokeGetterMethod(spotReport.getSurfacespot(), "passrateF"+lumian[j]);
				if(lum == null) lum = 0;
				dataset.setValue((Number)lum,t,LabelHelper.getInstance().buildCodeName(3113,lumian[j]));
			}else{
				dataset.setValue(0,t,
						LabelHelper.getInstance().buildCodeName(3113,lumian[j]));
			}
			}
		}
		
		if(qiaoliang != null){
			for (int j = 0; j < qiaoliang.length; j++) {
				if(spotReport.getBridgespot() != null){
				Object qlu = ReflectionUtils.invokeGetterMethod(spotReport.getBridgespot(), "passrateF"+qiaoliang[j]);
				if(qlu == null) qlu = 0;
				dataset.setValue((Number)qlu,t,LabelHelper.getInstance().buildCodeName(3114,qiaoliang[j]));
			}else{
				dataset.setValue(0,t,
						LabelHelper.getInstance().buildCodeName(3114,qiaoliang[j]));
			}
			}
		}
		
		if(suidao != null){
			for (int j = 0; j < suidao.length; j++) {
				if(spotReport.getTunnelspot() != null){
				Object slu = ReflectionUtils.invokeGetterMethod(spotReport.getTunnelspot(), "passrateF"+suidao[j]);
				if(slu == null) slu = 0;
				dataset.setValue((Number)slu,t,LabelHelper.getInstance().buildCodeName(3115,suidao[j]));
			}else{
				dataset.setValue(0,t,
						LabelHelper.getInstance().buildCodeName(3115,suidao[j]));
			}
			}
		}

		if(safe != null){
			for (int j = 0; j < safe.length; j++) {
				if(spotReport.getSafetyspot() != null){
				Object flu = ReflectionUtils.invokeGetterMethod(spotReport.getSafetyspot(), "passrateF"+safe[j]);
				if(flu == null) flu = 0;
				dataset.setValue((Number)flu,t,LabelHelper.getInstance().buildCodeName(3116,safe[j]));
			}else{
				dataset.setValue(0,t,
						LabelHelper.getInstance().buildCodeName(3116,safe[j]));
			}
			}
		}
		
		if(cailiao != null){
			for (int j = 0; j < cailiao.length; j++) {
				if(spotReport.getMaterialspot() != null){
				Object clu = ReflectionUtils.invokeGetterMethod(spotReport.getMaterialspot(), "passrateF"+cailiao[j]);
				if(clu == null) clu = 0;
				dataset.setValue((Number)clu,t,LabelHelper.getInstance().buildCodeName(3119,cailiao[j]));
			}else{
				dataset.setValue(0,t,
						LabelHelper.getInstance().buildCodeName(3119,cailiao[j]));
			}
		}
		}
		if(StringUtils.isNotEmpty(alltotal)){
			dataset.setValue(spotReport.getAllTotalPassrate(),spotReport.getReplace(),alltotal);
		}
		return dataset;
	}


	public Map<String, SpotReport> tongByTownOrLevelOrRoad(String startTime, String endTime,
			String xxxx, String groupBy, String planTypes0, String townItems0,
			String roadItems0, String levelItems0) {
		String planTypes = dislodge(planTypes0);
		String townItems = zhuanbian(townItems0);
		String roadItems = dislodge(roadItems0); 
		String levelItems = zhuanbian(levelItems0);
		List<String>  condition = toto(levelItems0,3108);
		List<String>  condition1 = toto(townItems0,4419);
		List<String>  condition2 = toto(roadItems,3006);
		List<String>  condition3 = toto(planTypes,3003);
		List<StructureSpot> list1 = structurespotDao.selectByGroupby(startTime, endTime, planTypes, townItems, roadItems, levelItems,groupBy);
		List<SurfaceSpot> list2 = surfacespotDao.selectByGroupby(startTime, endTime, planTypes, townItems, roadItems, levelItems,groupBy);
		List<Bridgespot> list3 = bridgespotDao.selectByGroupby(startTime, endTime, planTypes, townItems, roadItems, levelItems,groupBy);
		List<TunnelSpot> list4 = tunnelspotDao.selectByGroupby(startTime, endTime, planTypes, townItems, roadItems, levelItems,groupBy);
		List<Safetyspot> list5 = safetyspotDao.selectByGroupby(startTime, endTime, planTypes, townItems, roadItems, levelItems,groupBy);
		List<Materialspot> list6 = materialspotDao.selectByGroupby(startTime, endTime, planTypes, townItems, roadItems, levelItems,groupBy);
		
		Map<String, SpotReport> pp = zuheSixToSpotReport(xxxx, list1, list2, list3, list4, list5, list6);

		Struts2Utils.getRequest().setAttribute("condition",condition);
		Struts2Utils.getRequest().setAttribute("condition1",condition1);
		Struts2Utils.getRequest().setAttribute("condition2",condition2);
		Struts2Utils.getRequest().setAttribute("condition3",condition3);
		return pp;
	}

	public String zhibiaohengxiang(List<String> ro,
			Map<String, SpotReport> spotReportListTownMapCn, String[] luji,
			String[] lumian, String[] qiaoliang, String[] suidao,
			String[] safe, String[] cailiao, String alltotal) {
		String tab = "";
		String content = "";
		if(luji != null){
			for (int k = 0; k < luji.length; k++) {
						tab +="<th colspan='3'>"+LabelHelper.getInstance().buildCodeName(3112,luji[k])+"</th>";
			}
		}
		if(lumian != null){
			for (int k = 0; k < lumian.length; k++) {
						tab +="<th colspan='3'>"+LabelHelper.getInstance().buildCodeName(3113,lumian[k])+"</th>";
			}
		}
		if(qiaoliang != null){
			for (int k = 0; k < qiaoliang.length; k++) {
						tab +="<th colspan='3'>"+LabelHelper.getInstance().buildCodeName(3114,qiaoliang[k])+"</th>";
			}
		}
		if(suidao != null){
			for (int k = 0; k < suidao.length; k++) {
						tab +="<th colspan='3'>"+LabelHelper.getInstance().buildCodeName(3115,suidao[k])+"</th>";
			}
		}
		if(safe != null){
			for (int k = 0; k < safe.length; k++) {
						tab +="<th colspan='3'>"+LabelHelper.getInstance().buildCodeName(3116,safe[k])+"</th>";
			}
		}
		if(cailiao != null){
			for (int k = 0; k < cailiao.length; k++) {
						tab +="<th colspan='3'>"+LabelHelper.getInstance().buildCodeName(3119,cailiao[k])+"</th>";
			}
		}
		
		for (int i = 0; i < ro.size(); i++) {
			String toto = ro.get(i);
			content += "<tr><td>" + toto + "</td>";
			if(luji != null){
				for (int k = 0; k < luji.length; k++) {
							if (spotReportListTownMapCn.containsKey(toto)) {
								SpotReport spotReporthh = spotReportListTownMapCn.get(toto);
								if(spotReporthh.getStructurespot() != null){
										Object countF = ReflectionUtils.invokeGetterMethod(spotReporthh.getStructurespot(), "countF"+luji[k]);
										Object passF = ReflectionUtils.invokeGetterMethod(spotReporthh.getStructurespot(), "passF"+luji[k]);
										Object passrateF = ReflectionUtils.invokeGetterMethod(spotReporthh.getStructurespot(), "passrateF"+luji[k]);
										if(countF == null) countF = 0;
										if(passF == null) passF = 0;
										if(passrateF == null) passrateF = 0;
										content += "<td>" + countF + "</td>"
												+  "<td>" + passF + "</td>"
												+  "<td>" + passrateF + "</td>";
									}else{
												content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
								}
						}else{
							content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
						}
				}
			}
			
			if(lumian != null){
				for (int k = 0; k < lumian.length; k++) {
							if (spotReportListTownMapCn.containsKey(toto)) {
									SpotReport spotReporthh = spotReportListTownMapCn.get(toto);
										if(spotReporthh.getSurfacespot() != null){
											Object countF = ReflectionUtils.invokeGetterMethod(spotReporthh.getSurfacespot(), "countF"+lumian[k]);
											Object passF = ReflectionUtils.invokeGetterMethod(spotReporthh.getSurfacespot(), "passF"+lumian[k]);
											Object passrateF = ReflectionUtils.invokeGetterMethod(spotReporthh.getSurfacespot(), "passrateF"+lumian[k]);
											if(countF == null) countF = 0;
											if(passF == null) passF = 0;
											if(passrateF == null) passrateF = 0;
											content += "<td>" + countF + "</td>"
													+  "<td>" + passF + "</td>"
													+  "<td>" + passrateF + "</td>";
									}else{
											content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
								}
						}else{
							content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
					}
				}
			}
			
			if(qiaoliang != null){
				for (int k = 0; k < qiaoliang.length; k++) {
					if (spotReportListTownMapCn.containsKey(toto)) {
								SpotReport spotReporthh = spotReportListTownMapCn.get(toto);
									if(spotReporthh.getBridgespot() != null){
										Object countF = ReflectionUtils.invokeGetterMethod(spotReporthh.getBridgespot(), "countF"+qiaoliang[k]);
										Object passF = ReflectionUtils.invokeGetterMethod(spotReporthh.getBridgespot(), "passF"+qiaoliang[k]);
										Object passrateF = ReflectionUtils.invokeGetterMethod(spotReporthh.getBridgespot(), "passrateF"+qiaoliang[k]);
										if(countF == null) countF = 0;
										if(passF == null) passF = 0;
										if(passrateF == null) passrateF = 0;
										content += "<td>" + countF + "</td>"
												+  "<td>" + passF + "</td>"
												+  "<td>" + passrateF + "</td>";
							}else{
										content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
					}
						}else{
							content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
						}
				}
			}
			
			if(suidao != null){
				for (int k = 0; k < suidao.length; k++) {
					if (spotReportListTownMapCn.containsKey(toto)) {
									SpotReport spotReporthh = spotReportListTownMapCn.get(toto);
										if(spotReporthh.getTunnelspot() != null){
											Object countF = ReflectionUtils.invokeGetterMethod(spotReporthh.getTunnelspot(), "countF"+suidao[k]);
											Object passF = ReflectionUtils.invokeGetterMethod(spotReporthh.getTunnelspot(), "passF"+suidao[k]);
											Object passrateF = ReflectionUtils.invokeGetterMethod(spotReporthh.getTunnelspot(), "passrateF"+suidao[k]);
											if(countF == null) countF = 0;
											if(passF == null) passF = 0;
											if(passrateF == null) passrateF = 0;
											content += "<td>" + countF + "</td>"
													+  "<td>" + passF + "</td>"
													+  "<td>" + passrateF + "</td>";
								}else{
								content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
					}
							}
					else{
						content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
					}
				}
			}
			
			
			if(safe != null){
				for (int k = 0; k < safe.length; k++) {
					if (spotReportListTownMapCn.containsKey(toto)) {
								SpotReport spotReporthh = spotReportListTownMapCn.get(toto);
									if(spotReporthh.getSafetyspot() != null){
										Object countF = ReflectionUtils.invokeGetterMethod(spotReporthh.getSafetyspot(), "countF"+safe[k]);
										Object passF = ReflectionUtils.invokeGetterMethod(spotReporthh.getSafetyspot(), "passF"+safe[k]);
										Object passrateF = ReflectionUtils.invokeGetterMethod(spotReporthh.getSafetyspot(), "passrateF"+safe[k]);
										if(countF == null) countF = 0;
										if(passF == null) passF = 0;
										if(passrateF == null) passrateF = 0;
										content += "<td>" + countF + "</td>"
												+  "<td>" + passF + "</td>"
												+  "<td>" + passrateF + "</td>";
									}else{
										content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
						}
						}
					else{
						content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
					}
					}
				}
			
			if(cailiao != null){
				for (int k = 0; k < cailiao.length; k++) {
					if (spotReportListTownMapCn.containsKey(toto)) {
								SpotReport spotReporthh = spotReportListTownMapCn.get(toto);
									if(spotReporthh.getMaterialspot() != null){
										Object countF = ReflectionUtils.invokeGetterMethod(spotReporthh.getMaterialspot(), "countF"+cailiao[k]);
										Object passF = ReflectionUtils.invokeGetterMethod(spotReporthh.getMaterialspot(), "passF"+cailiao[k]);
										Object passrateF =ReflectionUtils.invokeGetterMethod(spotReporthh.getMaterialspot(), "passrateF"+cailiao[k]);
										if(countF == null) countF = 0;
										if(passF == null) passF = 0;
										if(passrateF == null) passrateF = 0;
										content += "<td>" + countF + "</td>"
												+  "<td>" + passF + "</td>"
												+  "<td>" + passrateF + "</td>";
									}else{
										content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
						}
					}
					else{
						content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
					}
				}
			}
			
			if(StringUtils.isNotEmpty(alltotal)){
				if (spotReportListTownMapCn.containsKey(toto)) {
						SpotReport spotReporthh = spotReportListTownMapCn.get(toto);
							if(spotReporthh != null){
									content += "<td>" + spotReporthh.getAllCount() + "</td>"
											+  "<td>" + spotReporthh.getAllPass() + "</td>"
											+  "<td>" + spotReporthh.getAllTotalPassrate()+ "</td>";
								}else{
									content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
							}
						}else{
						content += "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>";
					}
				}

			content += "</tr>";
		}
		Struts2Utils.getRequest().setAttribute("tab",tab);
		return content;
	}

	public Map<String, SpotReport> jiduTownOrLevel(String startTime, String endTime,
			String xxxx, String groupBy, String planTypes0, String townItems0,
			String roadItems0, String levelItems0) {
		String planTypes = dislodge(planTypes0);
		String townItems = zhuanbian(townItems0);
		String roadItems = dislodge(roadItems0); 
		String levelItems = zhuanbian(levelItems0);
		List<String>  condition = toto(levelItems0,3108);
		List<String>  condition1 = toto(townItems0,4419);
		List<String>  condition2 = toto(roadItems,3006);
		List<String>  condition3 = toto(planTypes,3003);
		List<StructureSpot> list1 = structurespotDao.selectByGroupby(startTime, endTime, planTypes, townItems, roadItems, levelItems,groupBy);
		List<SurfaceSpot> list2 = surfacespotDao.selectByGroupby(startTime, endTime, planTypes, townItems, roadItems, levelItems,groupBy);
		List<Bridgespot> list3 = bridgespotDao.selectByGroupby(startTime, endTime, planTypes, townItems, roadItems, levelItems,groupBy);
		List<TunnelSpot> list4 = tunnelspotDao.selectByGroupby(startTime, endTime, planTypes, townItems, roadItems, levelItems,groupBy);
		List<Safetyspot> list5 = safetyspotDao.selectByGroupby(startTime, endTime, planTypes, townItems, roadItems, levelItems,groupBy);
		List<Materialspot> list6 = materialspotDao.selectByGroupby(startTime, endTime, planTypes, townItems, roadItems, levelItems,groupBy);
		
		Map<String, SpotReport> pp = zuheSixToSpotReport(xxxx, list1, list2, list3, list4, list5, list6);

		Struts2Utils.getRequest().setAttribute("condition",condition);
		Struts2Utils.getRequest().setAttribute("condition1",condition1);
		Struts2Utils.getRequest().setAttribute("condition2",condition2);
		Struts2Utils.getRequest().setAttribute("condition3",condition3);
		return pp;
	}

	
	/**
	 * 
	 * CategoryDataset:
	 * 适用:横向季度统计
	 * @param dataset
	 * @param spotReportList
	 * @param luji
	 * @param lumian
	 * @param qiaoliang
	 * @param suidao
	 * @param safe
	 * @param cailiao
	 * @return 
	 * @exception 
	 * @since  1.0.0
	 */
	public DefaultCategoryDataset CategoryDatasetHx(
			DefaultCategoryDataset dataset, List<SpotReport> spotReportList,
			String[] luji, String[] lumian, String[] qiaoliang,
			String[] suidao, String[] safe, String[] cailiao, String alltotal) {

			for (int i = 0; i < spotReportList.size(); i++) {
				SpotReport spotReport = spotReportList.get(i);
				String t = spotReport.getReplace();
				dataset = zhenquTown(spotReport, dataset, t, luji, lumian, qiaoliang, suidao, safe, cailiao,alltotal);
			}
		return dataset;
	}

	public Page<SpotReport> getSpotreportListall(Page<SpotReport> page, String startTime, String endTime, String batch, String projectName) {
	
		return spotreportDao.getSpotreportListall(page,startTime,endTime,batch,projectName);
	}

	public SpotReport viewByProject(String startTime, String endTime,
			String biaoduan, String projectId) {
			List<StructureSpot> list1 = structurespotDao.selectViewPro(startTime, endTime, biaoduan,projectId);
			List<SurfaceSpot> list2 = surfacespotDao.selectViewPro(startTime, endTime, biaoduan,projectId);
			List<Bridgespot> list3 = bridgespotDao.selectViewPro(startTime, endTime, biaoduan,projectId);
			List<TunnelSpot> list4 = tunnelspotDao.selectViewPro(startTime, endTime, biaoduan,projectId);
			List<Safetyspot> list5 = safetyspotDao.selectViewPro(startTime, endTime, biaoduan,projectId);
			List<Materialspot> list6 = materialspotDao.selectViewPro(startTime, endTime, biaoduan,projectId);
			SpotReport spotReport = new SpotReport();
			if (list1.size() > 0) {
				spotReport.setStructurespot(list1.get(0));
			}
			if (list2.size() > 0) {
				spotReport.setSurfacespot(list2.get(0));
			}
			if (list3.size() > 0) {
				spotReport.setBridgespot(list3.get(0));
			}
			if (list4.size() > 0) {
				spotReport.setTunnelspot(list4.get(0));
			}
			if (list5.size() > 0) {
				spotReport.setSafetyspot(list5.get(0));
			}

			if (list6.size() > 0) {
				spotReport.setMaterialspot(list6.get(0));
			}
			
			return spotReport;
	}

}
